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.

Assessment

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

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.

Description

Mend: dependency security vulnerability stale

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
      • 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

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.