Faraday: Uncontrolled recursion in NestedParamsEncoder allows stack exhaustion DoS via deeply nested query parameters
`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 such as: ```text a[x][x][x][x]...[x]=1 ``` 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 has been patched in version 2.14.3 and backported to 1.10.6.
beschreibt (1)
Zugehörige CVEs.
| ID | Schweregrad | ausnutzbar | ||
|---|---|---|---|---|
| CVE-2026-54297US | — | — | ||
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 defau… | ||||
Referenzen
Externe Belege — Patches, Meldungen, Analysen.
- https://github.com/lostisland/faradayPACKAGE
- https://github.com/lostisland/faraday/pull/1681WEB
- https://github.com/lostisland/faraday/releases/tag/v1.10.6WEB
- https://github.com/lostisland/faraday/releases/tag/v2.14.3WEB
- https://github.com/lostisland/faraday/security/advisories/GHSA-98m9-hrrm-r99rWEB
- https://nvd.nist.gov/vuln/detail/CVE-2026-54297ADVISORY
Advisories wie diese benennen die exponierten Produkte, die Angreifer auf Ihrer Angriffsfläche ins Visier nehmen. Sehen Sie mit einem kostenlosen Passiv-Scan, was exponiert ist.
Kostenloser Scan