CVE-2026-67181
Rouille 0.3.3 - 3.6.2 HTTP Request Smuggling via proxy Transfer-Encoding Header
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.3
Rouille 0.3.3 - 3.6.2 HTTP Request Smuggling via proxy Transfer-Encoding Header
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.
- Record
CVE-2026-67181- CVSS 4.0
- 6.3 Medium
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 - CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:L - Weakness
- CWE-444
- Updated
- 2026-11-02
EUVDEUVD-2026-49890
6.3
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.
- Record
EUVD-2026-49890- CVSS 4.0
- 6.3 Medium
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 - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-fgf8-ph7p-m275
6.3
Rouille 0.3.3 through 3.6.2 contains an HTTP request smuggling vulnerability that allows remote...
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.
- Record
GHSA-fgf8-ph7p-m275- CVSS 4.0
- 6.3 Medium
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 - CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:L - Weakness
- CWE-444
- Updated
- 2026-11-02
NVD
6.3
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.
- Record
CVE-2026-67181- CVSS 4.0
- 6.3 Medium
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 - CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:L - Weakness
- CWE-444
- Updated
- 2026-11-02
OSV
6.3
Rouille 0.3.3 - 3.6.2 HTTP Request Smuggling via proxy Transfer-Encoding Header
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.
- Record
CVE-2026-67181- CVSS 4.0
- 6.3 Medium
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 - Weakness
- CWE-444
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-67181
5.4
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.
- Record
DEBIAN-CVE-2026-67181- CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:L - Updated
- 2026-11-02
Show 4 moreShow less
OSVopenSUSE-SU-2026:11527-1 No score
sccache-0.17.0~1-2.1 on GA media
These are all security issues fixed in the sccache-0.17.0~1-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11527-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21982-1 No score
Security update for sccache
This update for sccache fixes the following issues:
- CVE-2024-12224: idna: idna accepts Punycode labels that do not produce any non-ASCII when decoded (bsc#1243868).
- CVE-2026-25541: bytes: integer overflow in 'BytesMut:reserve' can lead to undefined behavior and crashes (bsc#1274146).
- CVE-2026-25727: time: parsing of user-provided input by the RFC 2822 date parser can lead to stack exhaustion (bsc#1257923).
- CVE-2026-41676: openssl:
Deriver:deriveandPkeyCtxRef:derivecan overflow short buffers on OpenSSL 1.1.1 (bsc#1270206). - CVE-2026-41677: openssl: out-of-bounds read in PEM password callback when returning an oversized length in rust- openssl crate (bsc#1270559).
- CVE-2026-41678: openssl: incorrect bounds assertion in aes key wrap in rust-openssl crate (bsc#1270693).
- CVE-2026-41681: openssl: MdCtxRef::digest_final() writes past caller buffer with no length check in rust-openssl crate (bsc#1270736).
- CVE-2026-41898: openssl: unchecked callback-returned length in PSK and cookie generate trampolines can leak adjacent memory in rust-openssl crate (bsc#1270869).
- CVE-2026-42327: openssl: arbitrary code execution via specially crafted certificate in rust-openssl crate (bsc#1270512).
- CVE-2026-44662: openssl: heap buffer overflow when encrypting with AES key-wrap-with-padding in rust-openssl crate (bsc#1270938).
- CVE-2026-45784: openssl: out-of-bounds write in
CipherCtxRef::cipher_update_inplacefor AES-KW-PAD ciphers in rust- openssl crate (bsc#1270948). - CVE-2026-66746: rouille: HTTP Response Splitting via Unvalidated Response Header Values (bsc#1273881).
- CVE-2026-66754: rouille: remove_prefix function that allows remote unauthenticated attackers to crash the server by sending a crafted percent-encoded URL (bsc#1273884).
- CVE-2026-67181: rouille: HTTP Request Smuggling via Transfer-Encoding Desynchronization (bsc#1273886).
- CVE-2026-67182: rouille: HTTP Request Smuggling Enables Front-End Access Control Bypass (bsc#1273888).
- CVE-2026-93599: rustls-webpki: panic via empty BIT STRING (bsc#1282211).
- CVE-2026-93600: rustls-webpki: name constraints URI validation bypass (bsc#1282211).
- CVE-2026-93601: rustls-webpki: name constraint bypass (bsc#1282211).
- CVE-2026-93602: rustls-webpki: CRL revocation check bypass (bsc#1282211).
Changes for sccache:
Update to version 0.18.0~2:
- Add experimental concurrent cache support
- chore: Remove dependency status badge (#2856)
- Don't hand the jobserver to children that can't use it
- dist: refuse to trim rlibs from crates that also emit a cdylib
- fix(cache): avoid duplicate multilevel reads
- Strip basedirs from the compiler arguments too
- tests/integration: replace MinIO with Silo
- ci: dump sccache logs on integration failures
- multilevel: a chain with any writable level is writable
- Fix parsing of #line directives
- Release 0.18.0
- daemonize: use an allow-list approach to inherited FDs
- gcc, clang: make the assembler part of the cache key
- support cl.exe /openmp:llvm
- support all current /fsanitize*, /fsanitize-coverage*, and /fno-sanitize* args
- support MSVC /feature argument
- msvc: support lots of flags (#2832)
- Update shlex dependency to version 2 (#2836)
- gcc: mark flags as TooHard if need to cache something else (#2833)
- clang: support more CLI options (#2834)
- msvc: support arm64EC and fastfail flags (#2830)
- chore: fix typo in comment (#2829)
- nvcc: accept the --diag-error/--diag-suppress/--diag-warn family (#2816)
- cache: allow skipping capability checks (#2822)
- Bump opendal to 0.58.1 and fix fallout (fixes local GCS cache usage) (#2715)
- nvcc (Windows): protect escaped quotes in dryrun lines before flattening backslashes (#2811)
- Add an agent (#2812)
- Add support for d20bforceinline. (#2807)
- feat: add Microsoft Entra ID (passwordless) auth for the Azure Blob backend (#2802)
- Bump MSRV to 1.91.0 (#2793)
- Fix
nvccdryrun parsing for CUDA 13.3 (#2722) - test: Fixed…
- Record
openSUSE-SU-2026:21982-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23983-1 No score
Security update for sccache
This update for sccache fixes the following issues:
- CVE-2024-12224: idna: idna accepts Punycode labels that do not produce any non-ASCII when decoded (bsc#1243868).
- CVE-2026-25541: bytes: integer overflow in 'BytesMut:reserve' can lead to undefined behavior and crashes (bsc#1274146).
- CVE-2026-25727: time: parsing of user-provided input by the RFC 2822 date parser can lead to stack exhaustion (bsc#1257923).
- CVE-2026-41676: openssl:
Deriver:deriveandPkeyCtxRef:derivecan overflow short buffers on OpenSSL 1.1.1 (bsc#1270206). - CVE-2026-41677: openssl: out-of-bounds read in PEM password callback when returning an oversized length in rust- openssl crate (bsc#1270559).
- CVE-2026-41678: openssl: incorrect bounds assertion in aes key wrap in rust-openssl crate (bsc#1270693).
- CVE-2026-41681: openssl: MdCtxRef::digest_final() writes past caller buffer with no length check in rust-openssl crate (bsc#1270736).
- CVE-2026-41898: openssl: unchecked callback-returned length in PSK and cookie generate trampolines can leak adjacent memory in rust-openssl crate (bsc#1270869).
- CVE-2026-42327: openssl: arbitrary code execution via specially crafted certificate in rust-openssl crate (bsc#1270512).
- CVE-2026-44662: openssl: heap buffer overflow when encrypting with AES key-wrap-with-padding in rust-openssl crate (bsc#1270938).
- CVE-2026-45784: openssl: out-of-bounds write in
CipherCtxRef::cipher_update_inplacefor AES-KW-PAD ciphers in rust- openssl crate (bsc#1270948). - CVE-2026-66746: rouille: HTTP Response Splitting via Unvalidated Response Header Values (bsc#1273881).
- CVE-2026-66754: rouille: remove_prefix function that allows remote unauthenticated attackers to crash the server by sending a crafted percent-encoded URL (bsc#1273884).
- CVE-2026-67181: rouille: HTTP Request Smuggling via Transfer-Encoding Desynchronization (bsc#1273886).
- CVE-2026-67182: rouille: HTTP Request Smuggling Enables Front-End Access Control Bypass (bsc#1273888).
- CVE-2026-93599: rustls-webpki: panic via empty BIT STRING (bsc#1282211).
- CVE-2026-93600: rustls-webpki: name constraints URI validation bypass (bsc#1282211).
- CVE-2026-93601: rustls-webpki: name constraint bypass (bsc#1282211).
- CVE-2026-93602: rustls-webpki: CRL revocation check bypass (bsc#1282211).
Changes for sccache:
Update to version 0.18.0~2:
- Add experimental concurrent cache support
- chore: Remove dependency status badge (#2856)
- Don't hand the jobserver to children that can't use it
- dist: refuse to trim rlibs from crates that also emit a cdylib
- fix(cache): avoid duplicate multilevel reads
- Strip basedirs from the compiler arguments too
- tests/integration: replace MinIO with Silo
- ci: dump sccache logs on integration failures
- multilevel: a chain with any writable level is writable
- Fix parsing of #line directives
- Release 0.18.0
- daemonize: use an allow-list approach to inherited FDs
- gcc, clang: make the assembler part of the cache key
- support cl.exe /openmp:llvm
- support all current /fsanitize*, /fsanitize-coverage*, and /fno-sanitize* args
- support MSVC /feature argument
- msvc: support lots of flags (#2832)
- Update shlex dependency to version 2 (#2836)
- gcc: mark flags as TooHard if need to cache something else (#2833)
- clang: support more CLI options (#2834)
- msvc: support arm64EC and fastfail flags (#2830)
- chore: fix typo in comment (#2829)
- nvcc: accept the --diag-error/--diag-suppress/--diag-warn family (#2816)
- cache: allow skipping capability checks (#2822)
- Bump opendal to 0.58.1 and fix fallout (fixes local GCS cache usage) (#2715)
- nvcc (Windows): protect escaped quotes in dryrun lines before flattening backslashes (#2811)
- Add an agent (#2812)
- Add support for d20bforceinline. (#2807)
- feat: add Microsoft Entra ID (passwordless) auth for the Azure Blob backend (#2802)
- Bump MSRV to 1.91.0 (#2793)
- Fix
nvccdryrun parsing for CUDA 13.3 (#2722) - test: Fixed…
- Record
SUSE-SU-2026:23983-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:3674-1 No score
Security update for sccache
This update for sccache fixes the following issues:
- CVE-2026-25541: bytes: integer overflow in 'BytesMut:reserve' can lead to undefined behavior and crashes (bsc#1274146).
- CVE-2026-66746: rouille: HTTP Response Splitting via Unvalidated Response Header Values (bsc#1273881).
- CVE-2026-66754: rouille: remove_prefix function that allows remote unauthenticated attackers to crash the server by sending a crafted percent-encoded URL (bsc#1273884).
- CVE-2026-67181: rouille: HTTP Request Smuggling via Transfer-Encoding Desynchronization (bsc#1273886).
- CVE-2026-67182: rouille: HTTP Request Smuggling Enables Front-End Access Control Bypass (bsc#1273888).
Changes for sccache:
- Update to version 0.17.0~1:
- Add experimental concurrent cache support
- Release 0.17.0
- tests: pin libc in the dist test crate
- doc: clarify server-side outputs and drop 'recommended mode' claim
- doc: document SCCACHE_CLIENT_SIDE env var
- doc: document client-side and direct modes in Architecture.md
- Fix description of Unix socket-based Redis connection
- server: remove redundant async block in start_compile_task
- server: simplify bind() request loops with ? instead of manual match arms
- Add support for arg files in Rust (#2782)
- feat: support S3 SSE-KMS with AWS-managed and customer-managed keys (#2770)
- abort compile tasks and associated subprocesses when a client disconnects
- treat -ivfsoverlay as a preprocessor-only argument
- gcc: refine response-file tokenizer visibility and whitespace handling
- integration: convert cmake 4.x modules XFAIL test to a passing test
- gcc/clang: cache and distribute builds using quoted @response files
- fix: Fix ToolchainPackager cfg gate to build on ppc64le/s390x
- fix: make gcc diagnostics color output work the same as for rustc
- implement client-side mode
- split handle_compile_response so that the compilation result can be handled separately
- implement IpcStorage -- Storage backend over IPC
- extend wire protocol with storage RPCs
- implement AddAssign for ServerStats and related types
- add Storage::get_path for direct file access
- implement get_raw/put_raw on MultiLevelStorage
- add client_side_mode config flag (SCCACHE_CLIENT_SIDE)
- Extract new_client_runtime() helper to DRY up client runtime creation
- Clarify single-threaded runtime rationale comment (grammar)
- fix: use single-threaded tokio runtime in sccache dist-client
- fix: use single-threaded tokio runtime in sccache client
- fix: handle disabled cache backend features in multilevel chain
- Fix ldd output parsing: remove .exists() check that failed on systems where the symlink source path does not exist locally (e.g. aarch64)
- Fix cfg guard for PanicToolchainPackager to also cover non-x86_64 Linux architectures (e.g. aarch64)
- Record
SUSE-SU-2026:3674-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
rust-rouilleDebian:14 |
All versions, plus listed versions 3.6.2+20250617+ds-13.6.2+20250617+ds-23.6.2+20250617+ds-3 |
None known |
sccacheSUSE:Linux Enterprise Server 16.0 From an advisory covering 19 CVEs |
before 0.18.0~2-160000.1.1 | 0.18.0~2-160000.1.1 |
sccacheSUSE:Linux Enterprise Server for SAP applications 16.0 From an advisory covering 19 CVEs |
before 0.18.0~2-160000.1.1 | 0.18.0~2-160000.1.1 |
sccacheSUSE:Linux Enterprise Module for Development Tools 15 SP7 From an advisory covering 5 CVEs |
before 0.17.0~1-150600.10.14.1 | 0.17.0~1-150600.10.14.1 |
sccacheSUSE:Linux Enterprise Server 15 SP6-LTSS From an advisory covering 5 CVEs |
before 0.17.0~1-150600.10.14.1 | 0.17.0~1-150600.10.14.1 |
sccacheSUSE:Linux Enterprise Server for SAP Applications 15 SP6 From an advisory covering 5 CVEs |
before 0.17.0~1-150600.10.14.1 | 0.17.0~1-150600.10.14.1 |
sccacheopenSUSE:Tumbleweed From an advisory covering 5 CVEs |
before 0.17.0~1-2.1 | 0.17.0~1-2.1 |
sccacheopenSUSE:Leap 16.0 From an advisory covering 19 CVEs |
before 0.18.0~2-160000.1.1 | 0.18.0~2-160000.1.1 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | theopaid/CVE-2026-67181-HTTP-Request-Smuggling-via-Transfer-Encoding-Desynchronization-rouille- | 2026-07-26 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-67181 is a medium vulnerability (CVSS 6.3) in Tomaka Rouille, published July 28, 2026. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 0.41%, the 35th percentile. No source names a fixed version.
References
github.com/theopaid/HTTP-Request-Smuggling-via-Transfer-Encoding-Desynchronization-rouille-
vulncheck.com/advisories/rouille-http-request-smuggling-via-proxy-transfer-encoding-header
nvd.nist.gov/vuln/detail/CVE-2026-67181
github.com/advisories/GHSA-fgf8-ph7p-m275
github.com/CVEProject/cvelistV5/tree/main/cves/2026/67xxx/CVE-2026-67181.json
github.com/tomaka/rouille
Show 38 moreShow less
security-tracker.debian.org/tracker/CVE-2026-67181
suse.com/support/update/announcement/2026/suse-su-202623983-1
bugzilla.suse.com/1243868
bugzilla.suse.com/1257923
bugzilla.suse.com/1270206
bugzilla.suse.com/1270512
bugzilla.suse.com/1270559
bugzilla.suse.com/1270693
bugzilla.suse.com/1270736
bugzilla.suse.com/1270869
bugzilla.suse.com/1270938
bugzilla.suse.com/1270948
bugzilla.suse.com/1273881
bugzilla.suse.com/1273884
bugzilla.suse.com/1273886
bugzilla.suse.com/1273888
bugzilla.suse.com/1274146
bugzilla.suse.com/1282211
suse.com/security/cve/CVE-2024-12224
suse.com/security/cve/CVE-2026-25541
suse.com/security/cve/CVE-2026-25727
suse.com/security/cve/CVE-2026-41676
suse.com/security/cve/CVE-2026-41677
suse.com/security/cve/CVE-2026-41678
suse.com/security/cve/CVE-2026-41681
suse.com/security/cve/CVE-2026-41898
suse.com/security/cve/CVE-2026-42327
suse.com/security/cve/CVE-2026-44662
suse.com/security/cve/CVE-2026-45784
suse.com/security/cve/CVE-2026-66746
suse.com/security/cve/CVE-2026-66754
suse.com/security/cve/CVE-2026-67181
suse.com/security/cve/CVE-2026-67182
suse.com/security/cve/CVE-2026-93599
suse.com/security/cve/CVE-2026-93600
suse.com/security/cve/CVE-2026-93601
suse.com/security/cve/CVE-2026-93602
suse.com/support/update/announcement/2026/suse-su-20263674-1
Left out here: the rest of 2 source descriptions. The JSON record has them.