Loop with Unreachable Exit Condition ('Infinite Loop') Affecting ruby3.4-fluentd-kubernetes-daemonset-1.18 package, versions <1.18.0.1.5-r4


Severity

Recommended
low

Based on default assessment until relevant scores are available.

Threat Intelligence

EPSS
0.28% (20th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-WOLFILATEST-RUBY34FLUENTDKUBERNETESDAEMONSET118-17671915
  • published29 Jun 2026
  • disclosed24 Jun 2026

Introduced: 24 Jun 2026

NewCVE-2026-54904  (opens in a new tab)
CWE-835  (opens in a new tab)

How to fix?

Upgrade Wolfi ruby3.4-fluentd-kubernetes-daemonset-1.18 to version 1.18.0.1.5-r4 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream ruby3.4-fluentd-kubernetes-daemonset-1.18 package and not the ruby3.4-fluentd-kubernetes-daemonset-1.18 package as distributed by Wolfi. See How to fix? for Wolfi relevant fixed versions and status.

concurrent-ruby is a modern concurrency tools for Ruby. Prior to 1.3.7, Concurrent::AtomicReference#update can enter a permanent busy retry loop when the current value is Float::NAN. The issue is caused by the interaction between AtomicReference#update, which retries until compare_and_set(old_value, new_value) succeeds; Numeric compare_and_set, which checks old == old_value before attempting the underlying atomic swap.; and Ruby NaN semantics, where Float::NAN == Float::NAN is always false. As a result, once an AtomicReference contains Float::NAN, calling #update repeatedly evaluates the caller's block and never returns. In services that store externally derived numeric values in an AtomicReference, this can cause CPU exhaustion or permanent request/job hangs. This vulnerability is fixed in 1.3.7.

CVSS Base Scores

version 3.1