{"schemaVersion":3,"id":"CVE-2026-67181","aliases":["DEBIAN-CVE-2026-67181"],"status":"published","duplicateOf":null,"title":"Rouille 0.3.3 - 3.6.2 HTTP Request Smuggling via proxy Transfer-Encoding Header","description":"Rouille 0.3.3 through 3.6.2 contains an HTTP request smuggling vulnerability that allows remote attackers to desynchronize HTTP message boundaries by exploiting improper header forwarding in the proxy implementation. The proxy in src/proxy.rs forwards the client's Transfer-Encoding header to upstream backends unchanged while transmitting a body already de-chunked by tiny_http, enabling CL.TE desynchronization attacks where attackers control where the backend believes the request body ends.","dates":{"published":"2026-07-28T16:10:29.527Z","modified":"2026-07-28T16:35:34.542Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":6.3,"severity":"medium","version":"4.0","versionLabel":"v4.0","source":"CVE.org","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"4.0","versionLabel":"v4.0","source":"CVE.org","score":6.3,"severity":"medium","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":5.4,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:L","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Debian","score":5.4,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:L","exploitability":5.6,"impact":4.5,"computed":true},{"version":"4.0","versionLabel":"v4.0","source":"NVD","score":6.3,"severity":"medium","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":5.4,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:L","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00414,"percentile":0.34653,"severity":"low","asOf":"2026-10-22T00:00:00.000Z","change":{"pp":0.12199999999999997,"baselineDate":"2026-09-22T00:00:00.000Z","baselineScore":0.00292},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00292,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00292,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00292,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00292,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00292,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00292,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00292,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00292,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00292,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00292,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.00414,"percentile":0.34653}],"last30":[{"date":"2026-09-22T00:00:00.000Z","score":0.00292,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00292,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00414,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.00414,"percentile":0.34653}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[{"id":"GITHUB_THEOPAID_HTTP-REQUEST-SMUGGLING-VIA-TRANSFER-ENCODING-DESYNCHRONIZATION-ROUILLE-","name":"Http Request Smuggling Via Transfer Encoding Desynchronization Rouille","source":"github","url":"https://github.com/theopaid/HTTP-Request-Smuggling-via-Transfer-Encoding-Desynchronization-rouille-","maturity":"poc","reliabilityScore":0.3,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"weaknesses":[{"id":"CWE-444","name":"Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')","description":"The product acts as an intermediary HTTP agent\n         (such as a proxy or firewall) in the data flow between two\n         entities such as a client and server, but it does not\n         interpret malformed HTTP requests or responses in ways that\n         are consistent with how the messages will be processed by\n         those entities that are at the ultimate destination.","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/444.html"}],"affected":[{"vendor":"debian","product":"rust-rouille","name":"rust-rouille","label":"rust-rouille","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/rust-rouille","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"tomaka","product":"rouille","name":"rouille","label":"rouille","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 0.3.3, ≤ 3.6.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 0.3.3, ≤ 3.6.2","eol":null,"hubHref":"/vendor/tomaka/rouille"}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/theopaid/HTTP-Request-Smuggling-via-Transfer-Encoding-Desynchronization-rouille-","label":"github.com/theopaid/HTTP-Request-Smuggling-via-Transfer-Encoding-Desynchronization-rouille-","hostname":"github.com","tags":["Technical Description","Exploit"]},{"url":"https://www.vulncheck.com/advisories/rouille-http-request-smuggling-via-proxy-transfer-encoding-header","label":"www.vulncheck.com/advisories/rouille-http-request-smuggling-via-proxy-transfer-encoding-header","hostname":"www.vulncheck.com","tags":["Third Party Advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-67181","label":"security-tracker.debian.org/tracker/CVE-2026-67181","hostname":"security-tracker.debian.org","tags":["Advisory"]}],"lineage":{"upstream":[],"downstream":["OPENSUSE-SU-2026:11527-1","OPENSUSE-SU-2026:21982-1","SUSE-SU-2026:23983-1","SUSE-SU-2026:3674-1"],"duplicates":[],"related":["OPENSUSE-SU-2026:11527-1","OPENSUSE-SU-2026:21982-1","SUSE-SU-2026:23983-1","SUSE-SU-2026:3674-1"]},"timeline":[{"kind":"published","date":"2026-07-28T16:10:29.527Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-07-28T16:35:34.542Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":35,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-22T19:30:33.387Z","stale":false,"partial":false}}