Rack vulnerabilities
50 known vulnerabilities affecting rack/rack.
Total CVEs
50
CISA KEV
0
Public exploits
0
Exploited in wild
0
Severity breakdown
CRITICAL1HIGH22MEDIUM26LOW1
Vulnerabilities
Page 1 of 3
CVE-2026-34829HIGHCVSS 7.5fixed in 2.2.23v>= 3.0.0.beta1, < 3.1.21+1 more2026-04-02
CVE-2026-34829 [HIGH] CWE-400 CVE-2026-34829: Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Mult
Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Multipart::Parser only wraps the request body in a BoundedIO when CONTENT_LENGTH is present. When a multipart/form-data request is sent without a Content-Length header, such as with HTTP chunked transfer encoding, multipart parsing continues until end-of-st
cvelistv5ghsanvdosv
CVE-2026-34827HIGHCVSS 7.5v>= 3.0.0.beta1, < 3.1.21v>= 3.2.0, < 3.2.62026-04-02
CVE-2026-34827 [HIGH] CWE-400 CVE-2026-34827: Rack is a modular Ruby web server interface. From versions 3.0.0.beta1 to before 3.1.21, and 3.2.0 t
Rack is a modular Ruby web server interface. From versions 3.0.0.beta1 to before 3.1.21, and 3.2.0 to before 3.2.6, Rack::Multipart::Parser#handle_mime_head parses quoted multipart parameters such as Content-Disposition: form-data; name="..." using repeated String#index searches combined with String#slice! prefix deletion. For escape-heavy quoted valu
cvelistv5ghsanvdosv
CVE-2026-34785HIGHCVSS 7.5fixed in 2.2.23v>= 3.0.0.beta1, < 3.1.21+1 more2026-04-02
CVE-2026-34785 [HIGH] CWE-187 CVE-2026-34785: Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Stat
Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Static determines whether a request should be served as a static file using a simple string prefix check. When configured with URL prefixes such as "/css", it matches any request path that begins with that string, including unrelated paths such as "/css-con
cvelistv5ghsanvdosv
CVE-2026-34786MEDIUMCVSS 5.3fixed in 2.2.23v>= 3.0.0.beta1, < 3.1.21+1 more2026-04-02
CVE-2026-34786 [MEDIUM] CWE-180 CVE-2026-34786: Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Stat
Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Static#applicable_rules evaluates several header_rules types against the raw URL-encoded PATH_INFO, while the underlying file-serving path is decoded before the file is served. As a result, a request for a URL-encoded variant of a static path can serve th
cvelistv5ghsanvdosv
CVE-2026-32762MEDIUMCVSS 4.8v>= 3.0.0.beta1, < 3.1.21v>= 3.2.0, < 3.2.62026-04-02
CVE-2026-32762 [MEDIUM] CWE-436 CVE-2026-32762: Rack is a modular Ruby web server interface. From versions 3.0.0.beta1 to before 3.1.21 and 3.2.0 to
Rack is a modular Ruby web server interface. From versions 3.0.0.beta1 to before 3.1.21 and 3.2.0 to before 3.2.6, Rack::Utils.forwarded_values parses the RFC 7239 Forwarded header by splitting on semicolons before handling quoted-string values. Because quoted values may legally contain semicolons, a header can be interpreted by Rack as multiple For
cvelistv5ghsanvdosv
CVE-2026-34835MEDIUMCVSS 6.5≥ 3.0.0, < 3.1.21≥ 3.2.0, < 3.2.6+2 more2026-04-02
CVE-2026-34835 [MEDIUM] CWE-1286 CVE-2026-34835: Rack is a modular Ruby web server interface. From versions 3.0.0.beta1 to before 3.1.21, and 3.2.0 t
Rack is a modular Ruby web server interface. From versions 3.0.0.beta1 to before 3.1.21, and 3.2.0 to before 3.2.6, Rack::Request parses the Host header using an AUTHORITY regular expression that accepts characters not permitted in RFC-compliant hostnames, including /, ?, #, and @. Because req.host returns the full parsed value, applications that v
cvelistv5ghsanvdosv
CVE-2026-34230MEDIUMCVSS 5.3fixed in 2.2.23v>= 3.0.0.beta1, < 3.1.21+1 more2026-04-02
CVE-2026-34230 [MEDIUM] CWE-400 CVE-2026-34230: Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Util
Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Utils.select_best_encoding processes Accept-Encoding values with quadratic time complexity when the header contains many wildcard (*) entries. Because this method is used by Rack::Deflater to choose a response encoding, an unauthenticated attacker can sen
cvelistv5ghsanvdosv
CVE-2026-34763MEDIUMCVSS 5.3fixed in 2.2.23v>= 3.0.0.beta1, < 3.1.21+1 more2026-04-02
CVE-2026-34763 [MEDIUM] CWE-625 CVE-2026-34763: Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Dire
Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Directory interpolates the configured root path directly into a regular expression when deriving the displayed directory path. If root contains regex metacharacters such as +, *, or ., the prefix stripping can fail and the generated directory listing may
cvelistv5ghsanvdosv
CVE-2026-34830MEDIUMCVSS 5.9fixed in 2.2.23v>= 3.0.0.beta1, < 3.1.21+1 more2026-04-02
CVE-2026-34830 [MEDIUM] CWE-625 CVE-2026-34830: Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Send
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
cvelistv5ghsanvdosv
CVE-2026-34831MEDIUMCVSS 4.8fixed in 2.2.23v>= 3.0.0.beta1, < 3.1.21+1 more2026-04-02
CVE-2026-34831 [MEDIUM] CWE-130 CVE-2026-34831: Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::File
Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Files#fail sets the Content-Length response header using String#size instead of String#bytesize. When the response body contains multibyte UTF-8 characters, the declared Content-Length is smaller than the number of bytes actually sent on the wire. Because
cvelistv5ghsanvdosv
CVE-2026-26962MEDIUMCVSS 4.8v>= 3.2.0, < 3.2.62026-04-02
CVE-2026-26962 [MEDIUM] CWE-93 CVE-2026-26962: Rack is a modular Ruby web server interface. From version 3.2.0 to before version 3.2.6, Rack::Multi
Rack is a modular Ruby web server interface. From version 3.2.0 to before version 3.2.6, Rack::Multipart::Parser unfolds folded multipart part headers incorrectly. When a multipart header contains an obs-fold sequence, Rack preserves the embedded CRLF in parsed parameter values such as filename or name instead of removing the folded line break during
cvelistv5ghsanvdosv
CVE-2026-34826MEDIUMCVSS 5.8fixed in 2.2.23v>= 3.0.0.beta1, < 3.1.21+1 more2026-04-02
CVE-2026-34826 [MEDIUM] CWE-400 Rack: Unbounded Range Count in get_byte_ranges Enables DoS
Rack: Unbounded Range Count in get_byte_ranges Enables DoS
Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Utils.get_byte_ranges parses the HTTP Range header without limiting the number of individual byte ranges. Although the existing fix for CVE-2024-26141 rejects ranges whose total byte coverage exceeds the file size, it does not restrict the count of rang
cvelistv5ghsaosv
CVE-2026-26961LOWCVSS 3.7fixed in 2.2.23v>= 3.0.0.beta1, < 3.1.21+1 more2026-04-02
CVE-2026-26961 [LOW] CWE-436 CVE-2026-26961: Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Mult
Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Multipart::Parser extracts the boundary parameter from multipart/form-data using a greedy regular expression. When a Content-Type header contains multiple boundary parameters, Rack selects the last one rather than the first. In deployments where an upstream
cvelistv5ghsanvdosv
CVE-2026-22860HIGHCVSS 7.5fixed in 2.2.22≥ 3.0.0, < 3.1.20+3 more2026-02-18
CVE-2026-22860 [HIGH] CWE-22 CVE-2026-22860: Rack is a modular Ruby web server interface. Prior to versions 2.2.22, 3.1.20, and 3.2.5, `Rack::Dir
Rack is a modular Ruby web server interface. Prior to versions 2.2.22, 3.1.20, and 3.2.5, `Rack::Directory`’s path check used a string prefix match on the expanded path. A request like `/../root_example/` can escape the configured root if the target path starts with the root string, allowing directory listing outside the intended root. Versions 2.2.22,
cvelistv5ghsanvdosv
CVE-2026-25500MEDIUMCVSS 5.4fixed in 2.2.22≥ 3.0.0, < 3.1.20+3 more2026-02-18
CVE-2026-25500 [MEDIUM] CWE-79 CVE-2026-25500: Rack is a modular Ruby web server interface. Prior to versions 2.2.22, 3.1.20, and 3.2.5, `Rack::Dir
Rack is a modular Ruby web server interface. Prior to versions 2.2.22, 3.1.20, and 3.2.5, `Rack::Directory` generates an HTML directory index where each file entry is rendered as a clickable link. If a file exists on disk whose basename starts with the `javascript:` scheme (e.g. `javascript:alert(1)`), the generated index contains an anchor whose `hr
cvelistv5ghsanvdosv
CVE-2025-61919HIGHCVSS 7.5fixed in 2.2.20≥ 3.0.0, < 3.1.18+3 more2025-10-10
CVE-2025-61919 [HIGH] CWE-400 CVE-2025-61919: Rack is a modular Ruby web server interface. Prior to versions 2.2.20, 3.1.18, and 3.2.3, `Rack::Req
Rack is a modular Ruby web server interface. Prior to versions 2.2.20, 3.1.18, and 3.2.3, `Rack::Request#POST` reads the entire request body into memory for `Content-Type: application/x-www-form-urlencoded`, calling `rack.input.read(nil)` without enforcing a length or cap. Large request bodies can therefore be buffered completely into process memory b
cvelistv5ghsanvdosv
CVE-2025-61780MEDIUMCVSS 5.3fixed in 2.2.20≥ 3.0.0, < 3.1.18+3 more2025-10-10
CVE-2025-61780 [MEDIUM] CWE-200 CVE-2025-61780: Rack is a modular Ruby web server interface. Prior to versions 2.2.20, 3.1.18, and 3.2.3, a possible
Rack is a modular Ruby web server interface. Prior to versions 2.2.20, 3.1.18, and 3.2.3, a possible information disclosure vulnerability existed in `Rack::Sendfile` when running behind a proxy that supports `x-sendfile` headers (such as Nginx). Specially crafted headers could cause `Rack::Sendfile` to miscommunicate with the proxy and trigger unint
cvelistv5ghsanvdosv
CVE-2025-61771HIGHCVSS 7.5fixed in 2.2.19≥ 3.1.0, < 3.1.17+3 more2025-10-07
CVE-2025-61771 [HIGH] CWE-400 CVE-2025-61771: Rack is a modular Ruby web server interface. In versions prior to 2.2.19, 3.1.17, and 3.2.2, ``Rack:
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` stores non-file form fields (parts without a `filename`) entirely in memory as Ruby `String` objects. A single large text field in a multipart/form-data request (hundreds of megabytes or more) can consume equivalent process memory, p
cvelistv5ghsanvdosv
CVE-2025-61772HIGHCVSS 7.5fixed in 2.2.19≥ 3.1.0, < 3.1.17+3 more2025-10-07
CVE-2025-61772 [HIGH] CWE-400 CVE-2025-61772: Rack is a modular Ruby web server interface. In versions prior to 2.2.19, 3.1.17, and 3.2.2, `Rack::
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` can accumulate unbounded data when a multipart part’s header block never terminates with the required blank line (`CRLFCRLF`). The parser keeps appending incoming bytes to memory without a size cap, allowing a remote attacker to exhau
cvelistv5ghsanvdosv
CVE-2025-61770HIGHCVSS 7.5fixed in 2.2.19≥ 3.1.0, < 3.1.17+3 more2025-10-07
CVE-2025-61770 [HIGH] CWE-400 CVE-2025-61770: Rack is a modular Ruby web server interface. In versions prior to 2.2.19, 3.1.17, and 3.2.2, `Rack::
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 terminatio
cvelistv5ghsanvdosv
1 / 3Next →