CVE-2026-34786 (Medium) detected in rack-3.1.16.gem

Open Beginner friendly
#281 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 by reading Gemfile.lock and checking how rubocop-rails brings in rack-3.1.16.gem; the issue also identifies the cached artifact at vendor/cache/rack-3.1.16.gem. Update the resolved Rack version to a listed fixed release and ensure both dependency references no longer contain the vulnerable version.

Written by the indexing model from the issue text.

Description

Mend: dependency security vulnerability

CVE-2026-34786 - Medium Severity Vulnerability

Vulnerable Library - rack-3.1.16.gem

Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.

Library home page: https://rubygems.org/gems/rack-3.1.16.gem

Path to dependency file: /Gemfile.lock

Path to vulnerable library: /vendor/cache/rack-3.1.16.gem

Dependency Hierarchy:

  • manageiq-style-1.3.3.gem (Root Library)
    • rubocop-rails-2.32.0.gem
      • rack-3.1.16.gem (Vulnerable Library)

Found in base branch: master

Vulnerability Details

Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Static#applicable_rules evaluates several header_rules types against the raw URL-encoded PATH_INFO, while the underlying file-serving path is decoded before the file is served. As a result, a request for a URL-encoded variant of a static path can serve the same file without the headers that header_rules were intended to apply. In deployments that rely on Rack::Static to attach security-relevant response headers to static content, this can allow an attacker to bypass those headers by requesting an encoded form of the path. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.

Publish Date: 2026-04-02

URL: CVE-2026-34786

CVSS 3 Score Details (5.3)

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: Low
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: https://github.com/advisories/GHSA-q4qf-9j86-f5mh

Release Date: 2026-04-02

Fix Resolution: rack - 3.1.21,rack - 3.2.6,rack - 2.2.23


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

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/linux_admin

All issues in ManageIQ/linux_admin

Similar issues

More Ruby issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.