ManageIQ / ManageIQ/linux_admin

CVE-2025-61770 (High) detected in rack-3.1.16.gem

Open Beginner friendly
#262 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

## CVE-2025-61770 - High 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. In versions prior to 2.2.19, 3.1.17, and 3.2.2, "Rack::Multipart::Parser" buffers the entire multipart preamble (bytes before the first boundary) in memory without any size limit. A client can send a large preamble followed by a valid boundary, causing significant memory use and potential process termination due to out-of-memory (OOM) conditions. Remote attackers can trigger large transient memory spikes by including a long preamble in multipart/form-data requests. The impact scales with allowed request sizes and concurrency, potentially causing worker crashes or severe slowdown due to garbage collection. Versions 2.2.19, 3.1.17, and 3.2.2 enforce a preamble size limit (e.g., 16 KiB) or discard preamble data entirely. Workarounds include limiting total request body size at the proxy or web server level and monitoring memory and set per-process limits to prevent OOM conditions.

Publish Date: 2025-10-07

URL: CVE-2025-61770



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


For more information on CVSS3 Scores, click here.


Suggested Fix

Type: Upgrade version


Release Date: 2025-10-07


Fix Resolution: https://github.com/rack/rack.git - v2.2.19,rack - 2.2.19,rack - 3.1.17,https://github.com/rack/rack.git - v3.1.17,https://github.com/rack/rack.git - v3.2.2,rack - 3.2.2

***
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 by inspecting /Gemfile.lock and the cached dependency at /vendor/cache/rack-3.1.16.gem, following the dependency path through rubocop-rails. Update Rack to a fixed release identified in the issue, regenerate the lockfile and cached gem, then verify that rack-3.1.16.gem is no longer present and the dependency checks pass.

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
62/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.