CVE Vulnerabilities

CVE-2026-34830

Permissive Regular Expression

Published: Apr 02, 2026 | Modified: Apr 16, 2026
CVSS 3.x
7.5
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CVSS 2.x
RedHat/V2
RedHat/V3
5.9 MODERATE
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Sendfile#map_accel_path interpolates the value of the X-Accel-Mapping request header directly into a regular expression when rewriting file paths for X-Accel-Redirect. Because the header value is not escaped, an attacker who can supply X-Accel-Mapping to the backend can inject regex metacharacters and control the generated X-Accel-Redirect response header. In deployments using Rack::Sendfile with x-accel-redirect, this can allow an attacker to cause nginx to serve unintended files from configured internal locations. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.

Weakness

The product uses a regular expression that does not sufficiently restrict the set of allowed values.

Affected Software

NameVendorStart VersionEnd Version
RackRack*2.2.23 (excluding)
RackRack3.0.0 (including)3.1.21 (excluding)
RackRack3.2.0 (including)3.2.6 (excluding)
Ruby-rackUbuntudevel*
Ruby-rackUbuntuesm-apps-legacy/xenial*
Ruby-rackUbuntuesm-apps/bionic*
Ruby-rackUbuntuesm-apps/focal*
Ruby-rackUbuntuesm-apps/jammy*
Ruby-rackUbuntuesm-apps/xenial*
Ruby-rackUbuntuesm-infra-legacy/trusty*
Ruby-rackUbuntujammy*
Ruby-rackUbuntunoble*
Ruby-rackUbuntuquesting*
Ruby-rackUbunturesolute*

Extended Description

This effectively causes the regexp to accept substrings that match the pattern, which produces a partial comparison to the target. In some cases, this can lead to other weaknesses. Common errors include:

Potential Mitigations

References