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
- 72/100
Research direction
Start with /Gemfile.lock and /vendor/cache/concurrent-ruby-1.3.5.gem, then trace the dependency chain described in the issue. Update the vulnerable concurrent-ruby dependency to 1.3.7 and verify that the lockfile and cached dependency no longer reference 1.3.5 and that the vulnerability scan passes.
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.5.9.gem (Root Library)
- rubocop-rails-2.29.1.gem
- activesupport-8.1.1.gem
- ❌ concurrent-ruby-1.3.5.gem (Vulnerable Library)
- activesupport-8.1.1.gem
- rubocop-rails-2.29.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
- 6
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Contributor 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/pg-logical_replication
-
Mend: dependency security vulnerability
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Mend: dependency security vulnerability
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Mend: dependency security vulnerability
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Mend: dependency security vulnerability
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Mend: dependency security vulnerability
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
All issues in ManageIQ/pg-logical_replication
Similar issues
-
user-reported
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Kong/developer.konghq.com#7316 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
TheOdinProject/curriculum#31408 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
notch8/utk_knapsack#148 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
Homebrew/homebrew-cask#288729 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100