Skip to content

CVE-2026-54904

Rubyconcurrency Concurrent Ruby denial of service

7.5 HIGHPublic exploitEPSS 0.67%
  1. Published24 Jun 2026

Description

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 3.1 breakdown

Attack vectorNetwork
Attack complexityLow
Privileges requiredNone
User interactionNone
ScopeUnchanged
ConfidentialityNone
IntegrityNone
AvailabilityHigh
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Affected products

Rubyconcurrency Concurrent Ruby< 1.3.7

Remediation

Fixed in
Rubyconcurrency Concurrent Ruby≥ 1.3.7

Frequently asked

Is CVE-2026-54904 being actively exploited?

CVE-2026-54904 is not in the CISA KEV catalog. A public exploit reference exists, so treat it as exploitable. Its EPSS exploit probability is 0.67%.

How severe is CVE-2026-54904?

CVE-2026-54904 has a CVSS 3.1 base score of 7.5, rated high. EPSS estimates a 0.67% probability of exploitation.

Which products are affected by CVE-2026-54904?

Affected products include Rubyconcurrency Concurrent Ruby.

How do I fix CVE-2026-54904?

Upgrade affected software to a fixed version, for example Rubyconcurrency Concurrent Ruby 1.3.7 or later, then confirm no affected versions remain in your inventory.

How Secuno handles this

Secuno correlates vulnerabilities like CVE-2026-54904 against the real software inventory on every managed device, every day. Rather than a static severity, each match is scored in context: exploit availability, EPSS, the asset's exposure, and business criticality decide where it lands in the queue. If an affected version is present anywhere across your portfolio, it surfaces automatically with a prioritised remediation path.

Get Patch this first every Monday

Five vulnerabilities that matter this week, ranked on real exploitation. Plain language, one email, no spam.

You can unsubscribe with one click from every issue. We handle your details as described in our privacy policy.

Data from the NVD, CISA KEV catalog and FIRST EPSS. CVSS 3.1 base score shown where available.