CVE-2026-54297
HighCVSS 7.5Exploitation Probability (EPSS)
Elevated risk55th percentile - higher than 55% of all known CVEs
Summary
A vulnerability in the Faraday library allows a DoS attack by sending a specially crafted nested query string. The NestedParamsEncoder does not enforce a maximum nesting depth, leading to stack overflow and crash of the thread or worker process.
Risk Assessment
An attacker can remotely crash an application using Faraday for query parsing, causing denial of service. The risk applies to systems that process user input without validating nesting depth.
Recommendation
Immediately update Faraday to version 1.10.6 or 2.14.3, depending on the major version in use. If an update is not possible, implement nesting depth validation in the application code.
Other vulnerabilities in Faraday
See all- CVE-2026-25765Medium
Faraday's build_exclusive_url method uses Ruby's URI#merge to combine the base URL with a user-supplied path. Protocol-relative URLs (e.g., //evil.com/path) can override the base URL's host, allowing an attacker to redirect requests to an arbitrary host and enabling Server-Side Request Forgery (SSRF). This is fixed in 2.14.1.
- CVE-2026-33637Unknown
Faraday is an HTTP client library abstraction layer. Versions 2.0.0 through 2.14.1 still allow protocol-relative host override when the request target is passed as a URI object (rather than a String) to Faraday::Connection#build_exclusive_url. This bypasses the February 2026 fix for GHSA-33mh-2634-fwr2 and enables off-host request forgery: a request built from a fixed-base Faraday::Connection can be redirected to an attacker-controlled host, forwarding connection-scoped values such as Authorization headers and default query parameters. This issue has been fixed in version 2.14.3.
Original NVD description (English source)
Faraday is an HTTP client library abstraction layer that provides a common interface over many adapters. From 1.0.0 until 1.10.6 and 2.14.3, Faraday::NestedParamsEncoder, the default nested query parameter encoder/decoder in Faraday, decodes nested query strings without enforcing a maximum nesting depth. A crafted query string causes Faraday to build a deeply nested Ruby Hash structure. The internal dehash routine then recursively walks this attacker-controlled structure without a depth limit. At sufficient depth, Ruby raises an uncaught SystemStackError (stack level too deep), crashing the calling thread or worker. This can lead to denial of service in applications that pass attacker-controlled query strings to Faraday's nested query parsing or URL-building paths. This vulnerability is fixed in 1.10.6 and 2.14.3.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

