Update dependency rack to v3.2.3 [SECURITY] #678
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.2.2
->3.2.3
GitHub Vulnerability Alerts
CVE-2025-61780
Summary
A possible information disclosure vulnerability existed in
Rack::Sendfile
when running behind a proxy that supportsx-sendfile
headers (such as Nginx). Specially crafted headers could causeRack::Sendfile
to miscommunicate with the proxy and trigger unintended internal requests, potentially bypassing proxy-level access restrictions.Details
When
Rack::Sendfile
received untrustedx-sendfile-type
orx-accel-mapping
headers from a client, it would interpret them as proxy configuration directives. This could cause the middleware to send a "redirect" response to the proxy, prompting it to reissue a new internal request that was not subject to the proxy's access controls.An attacker could exploit this by:
x-sendfile-type: x-accel-redirect
header.x-accel-mapping
header.Impact
Attackers could bypass proxy-enforced restrictions and access internal endpoints intended to be protected (such as administrative pages). The vulnerability did not allow arbitrary file reads but could expose sensitive application routes.
This issue only affected systems meeting all of the following conditions:
Rack::Sendfile
with a proxy that supportsx-accel-redirect
(e.g., Nginx).x-sendfile-type
andx-accel-mapping
headers..to_path
.Mitigation
Upgrade to a fixed version of Rack which requires explicit configuration to enable
x-accel-redirect
:Alternatively, configure the proxy to always set or strip the headers (you should be doing this!):
Or in Rails applications, disable sendfile completely:
CVE-2025-61919
Summary
Rack::Request#POST
reads the entire request body into memory forContent-Type: application/x-www-form-urlencoded
, callingrack.input.read(nil)
without enforcing a length or cap. Large request bodies can therefore be buffered completely into process memory before parsing, leading to denial of service (DoS) through memory exhaustion.Details
When handling non-multipart form submissions, Rack’s request parser performs:
Since
read
is called with no argument, the entire request body is loaded into a RubyString
. This occurs before query parameter parsing or enforcement of anyparams_limit
. As a result, Rack applications without an upstream body-size limit can experience unbounded memory allocation proportional to request size.Impact
Attackers can send large
application/x-www-form-urlencoded
bodies to consume process memory, causing slowdowns or termination by the operating system (OOM). The effect scales linearly with request size and concurrency. Even with parsing limits configured, the issue occurs before those limits are enforced.Mitigation
query_parser.bytesize_limit
, preventing unbounded reads ofapplication/x-www-form-urlencoded
bodies.client_max_body_size
, ApacheLimitRequestBody
).Release Notes
rack/rack (rack)
v3.2.3
Compare Source
Configuration
📅 Schedule: Branch creation - "" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.