{"cve":"CVE-2020-26281","nvd":{"published":"2020-12-21T22:15:13.407","modified":"2026-06-17T03:07:59.467","status":"Modified","description":"async-h1 is an asynchronous HTTP/1.1 parser for Rust (crates.io). There is a request smuggling vulnerability in async-h1 before version 2.3.0. This vulnerability affects any webserver that uses async-h1 behind a reverse proxy, including all such Tide applications. If the server does not read the body of a request which is longer than some buffer length, async-h1 will attempt to read a subsequent request from the body content starting at that offset into the body. One way to exploit this vulnerability would be for an adversary to craft a request such that the body contains a request that would not be noticed by a reverse proxy, allowing it to forge forwarded/x-forwarded headers. If an application trusted the authenticity of these headers, it could be misled by the smuggled request. Another potential concern with this vulnerability is that if a reverse proxy is sending multiple http clients' requests along the same keep-alive connection, it would be possible for the smuggled request to specify a long content and capture another user's request in its body. This content could be captured in a post request to an endpoint that allows the content to be subsequently retrieved by the adversary. This has been addressed in async-h1 2.3.0 and previous versions have been yanked.","cvss_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:H/A:N","score":7.5},"cwes":["CWE-444"],"references":["https://github.com/http-rs/async-h1/releases/tag/v2.3.0","https://github.com/http-rs/async-h1/security/advisories/GHSA-4vr9-8cjf-vf9c","https://github.com/http-rs/async-h1/releases/tag/v2.3.0","https://github.com/http-rs/async-h1/security/advisories/GHSA-4vr9-8cjf-vf9c"],"products":["rust-lang:async-h1"],"source":"nvd","synced_at":"2026-10-19T21:12:09.559580076+00:00"},"epss":{"cve":"CVE-2020-26281","score":0.0102,"percentile":0.63412,"date":"2026-10-31"},"kev":null,"osv":[{"id":"GHSA-4vr9-8cjf-vf9c","url":"https://osv.dev/vulnerability/GHSA-4vr9-8cjf-vf9c","summary":"Async-h1 request smuggling possible with long unread bodies","modified":"2026-09-10T03:49:08.929331849Z","packages":[{"ecosystem":"crates.io","name":"async-h1","purl":"pkg:cargo/async-h1","ranges":["<2.3.0"],"fixed":["2.3.0"]}]},{"id":"GHSA-c8rq-crxj-mj9m","url":"https://osv.dev/vulnerability/GHSA-c8rq-crxj-mj9m","summary":"Async-h1 request smuggling possible with long unread bodies","modified":"2023-11-08T04:03:17.843075Z","packages":[{"ecosystem":"crates.io","name":"async-h1","purl":"pkg:cargo/async-h1","ranges":["<2.3.0"],"fixed":["2.3.0"]}]},{"id":"RUSTSEC-2020-0093","url":"https://osv.dev/vulnerability/RUSTSEC-2020-0093","summary":"Async-h1 request smuggling possible with long unread bodies","modified":"2023-11-08T04:03:17.843075Z","packages":[{"ecosystem":"crates.io","name":"async-h1","purl":"pkg:cargo/async-h1","ranges":[">=0.0.0-0 <2.3.0"],"fixed":["2.3.0"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}