CVE-2026-54906 (Medium) detected in concurrent-ruby-1.3.6.gem

Open Beginner friendly
#186 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
68/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
ruby
Domain
security

Research direction

Start with Gemfile.lock and vendor/cache/concurrent-ruby-1.3.6.gem, then inspect how the dependency is brought in through more_core_extensions and activesupport. Update the resolved concurrent-ruby version to the fixed 1.3.7 release and verify the lockfile and vendored artifact no longer reference 1.3.6. Done means the vulnerable dependency is absent.

Written by the indexing model from the issue text.

Description

Mend: dependency security vulnerability

CVE-2026-54906 - Medium Severity Vulnerability

Vulnerable Library - concurrent-ruby-1.3.6.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.6.gem

Path to dependency file: /Gemfile.lock

Path to vulnerable library: /vendor/cache/concurrent-ruby-1.3.6.gem

Dependency Hierarchy:

  • manageiq-style-1.6.0.gem (Root Library)
    • more_core_extensions-4.5.1.gem
      • activesupport-8.1.2.gem
        • concurrent-ruby-1.3.6.gem (Vulnerable Library)

Found in base branch: master

Vulnerability Details

concurrent-ruby is a modern concurrency tools for Ruby. Prior to 1.3.7, Concurrent::ReadWriteLock#release_write_lock does not verify that the calling thread acquired the write lock. Any thread with access to the lock object can release an active write lock held by another thread. A second writer can then enter its critical section while the first writer is still running. Concurrent::ReadWriteLock#release_read_lock also decrements the shared counter even when no read lock is held. Calling it on a fresh lock changes the counter from 0 to -1, after which normal read acquisition raises Concurrent::ResourceLimitError. This is a synchronization correctness issue in the public Concurrent::ReadWriteLock API. This vulnerability is fixed in 1.3.7.

Publish Date: 2026-06-24

URL: CVE-2026-54906

CVSS 3 Score Details (4.0)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Local
    • Attack Complexity: High
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: Low
    • Availability Impact: Low

For more information on CVSS3 Scores, click here.

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
7
Forks
24
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ManageIQ/vmware_web_service

All issues in ManageIQ/vmware_web_service

Similar issues

More Ruby issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.