CVE-2026-54904 (High) detected in concurrent-ruby-1.3.5.gem
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 68/100
Research direction
Start with /Gemfile.lock and the vendored dependency at /vendor/cache/concurrent-ruby-1.3.5.gem; inspect how concurrent-ruby is resolved through the listed dependency chain. Update the dependency to v1.3.7, then verify the lockfile and vendor cache no longer contain 1.3.5 and that the CVE scan is clear.
Written by the indexing model from the issue text.
Description
CVE-2026-54904 - High Severity Vulnerability
Vulnerable Library - concurrent-ruby-1.3.5.gem
Modern concurrency tools including agents, futures, promises, thread pools, actors, supervisors, and more. Inspired by Erlang, Clojure, Go, JavaScript, actors, and classic concurrency patterns.
Library home page: https://rubygems.org/gems/concurrent-ruby-1.3.5.gem
Path to dependency file: /Gemfile.lock
Path to vulnerable library: /vendor/cache/concurrent-ruby-1.3.5.gem
Dependency Hierarchy:
- manageiq-style-1.3.3.gem (Root Library)
- more_core_extensions-4.5.1.gem
- activesupport-8.0.2.gem
- ❌ concurrent-ruby-1.3.5.gem (Vulnerable Library)
- activesupport-8.0.2.gem
- more_core_extensions-4.5.1.gem
Found in base branch: master
Vulnerability Details
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.
Publish Date: 2026-06-24
URL: CVE-2026-54904
CVSS 3 Score Details (7.5)
Base Score Metrics:
- Exploitability Metrics:
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Impact Metrics:
- Confidentiality Impact: None
- Integrity Impact: None
- Availability Impact: High
Suggested Fix
Type: Upgrade version
Release Date: 2026-06-19
Fix Resolution: https://github.com/ruby-concurrency/concurrent-ruby.git - v1.3.7
Step up your Open Source Security Game with Mend here
- Dominant language
- Ruby
- Stars
- 30
- Forks
- 27
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ManageIQ/linux_admin
-
Mend: dependency security vulnerability
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
ManageIQ/linux_admin#291 ·
-
Mend: dependency security vulnerability
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
ManageIQ/linux_admin#290 ·
-
Mend: dependency security vulnerability
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
ManageIQ/linux_admin#289 ·
-
Mend: dependency security vulnerability
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
ManageIQ/linux_admin#286 ·
-
Mend: dependency security vulnerability
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
ManageIQ/linux_admin#285 ·
All issues in ManageIQ/linux_admin
Similar issues
-
security
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
CircuitVerse/CircuitVerse#7967 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
simp/pupmod-simp-stunnel#173 ·
-
Polish QDrantOpen
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
o19s/quepid#1825 · 1 comment ·
Maintainers usually reply within 1 day