ManageIQ / ManageIQ/linux_admin

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

Open
#283 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Mend: dependency security vulnerability
Dominant language
Ruby
Stars
30
Forks
27
PR merge metrics
No merged PRs in 30d

Description

## CVE-2026-34831 - 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
- :x: **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::Files#fail sets the Content-Length response header using String#size instead of String#bytesize. When the response body contains multibyte UTF-8 characters, the declared Content-Length is smaller than the number of bytes actually sent on the wire. Because Rack::Files reflects the requested path in 404 responses, an attacker can trigger this mismatch by requesting a non-existent path containing percent-encoded UTF-8 characters. This results in incorrect HTTP response framing and may cause response desynchronization in deployments that rely on the incorrect Content-Length value. 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-34831



CVSS 3 Score Details (4.8)

Base Score Metrics:
- Exploitability Metrics:
- Attack Vector: Network
- Attack Complexity: High
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Impact Metrics:
- Confidentiality Impact: Low
- 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-q2ww-5357-x388


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](https://www.whitesourcesoftware.com/full_solution_bolt_github)

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.

Research direction

Start with /Gemfile.lock and the vendored dependency at /vendor/cache/rack-3.1.16.gem, then inspect the dependency hierarchy showing rack is pulled through rubocop-rails. Update the resolved Rack version to one of the listed fixed releases and verify that the lockfile and vendored package no longer contain 3.1.16.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.