Skip to content

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 8, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
rack (changelog) 3.1.12 -> 3.1.16 age adoption passing confidence

GitHub Vulnerability Alerts

CVE-2025-46727

Summary

Rack::QueryParser parses query strings and application/x-www-form-urlencoded bodies into Ruby data structures without imposing any limit on the number of parameters, allowing attackers to send requests with extremely large numbers of parameters.

Details

The vulnerability arises because Rack::QueryParser iterates over each &-separated key-value pair and adds it to a Hash without enforcing an upper bound on the total number of parameters. This allows an attacker to send a single request containing hundreds of thousands (or more) of parameters, which consumes excessive memory and CPU during parsing.

Impact

An attacker can trigger denial of service by sending specifically crafted HTTP requests, which can cause memory exhaustion or pin CPU resources, stalling or crashing the Rack server. This results in full service disruption until the affected worker is restarted.

Mitigation

  • Update to a version of Rack that limits the number of parameters parsed, or
  • Use middleware to enforce a maximum query string size or parameter count, or
  • Employ a reverse proxy (such as Nginx) to limit request sizes and reject oversized query strings or bodies.

Limiting request body sizes and query string lengths at the web server or CDN level is an effective mitigation.

CVE-2025-49007

Summary

There is a denial of service vulnerability in the Content-Disposition parsing component of Rack. This is very similar to the previous security issue CVE-2022-44571.

Details

Carefully crafted input can cause Content-Disposition header parsing in Rack to take an unexpected amount of time, possibly resulting in a denial of service attack vector. This header is used typically used in multipart parsing. Any applications that parse multipart posts using Rack (virtually all Rails applications) are impacted.

Credits

Thanks to scyoon for reporting this to the Rails security team


Release Notes

rack/rack (rack)

v3.1.16

Compare Source

v3.1.15

Compare Source

v3.1.14

Compare Source

Security
  • CVE-2025-46727 Unbounded parameter parsing in Rack::QueryParser can lead to memory exhaustion.

v3.1.13

Compare Source


Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot changed the title chore(deps): update dependency rack to v3.1.14 [security] chore(deps): update dependency rack to v3.1.16 [security] Jun 5, 2025
@renovate renovate bot force-pushed the renovate/rubygems-rack-vulnerability branch from cb36ea2 to a3cef5d Compare June 5, 2025 06:31
@JP-Ellis JP-Ellis merged commit 0303ae5 into master Jun 25, 2025
31 checks passed
@JP-Ellis JP-Ellis deleted the renovate/rubygems-rack-vulnerability branch June 25, 2025 11:13
@renovate renovate bot changed the title chore(deps): update dependency rack to v3.1.16 [security] chore(deps): update dependency rack to v3.1.16 [security] - autoclosed Jun 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant