CVE-2024-23644: trillium · HTTP Request/Response Splitting
Affects trilliumSource CVE Database V5
Not known to be exploited · CVSS 6.8 Medium · fixed in 0.3.12 : update trillium when convenient.
Data as of 26 Oct 2026, 17:16 UTC
- EPSS
- 0.6% chance of exploitation in 30 days – higher than 50% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 0.3.12, 0.5.4
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:NExploitation evidence
Disclosed: evidence found.
CVE published 24 Jan 2024
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade trillium-rs/trillium-http to 0.3.12; trillium-rs/trillium-client to 0.5.4.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
crates.iotrillium-rs/trillium-httppkg:cargo/trillium-rs/trillium-httpOther threats | Affected
| Fixed in
|
crates.iotrillium-rs/trillium-clientpkg:cargo/trillium-rs/trillium-clientOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
European organizations should immediately upgrade trillium-http to version 0.3.12 or later and trillium-client to version 0.5.4 or later to benefit from the built-in validation and sanitization fixes. Until upgrades are applied, developers must implement strict input validation and sanitization on all untrusted data incorporated into HTTP headers, explicitly disallowing carriage return (\r), newline (\n), and null characters. Security teams should audit codebases for any direct or indirect usage of trillium-http and trillium-client libraries and review how header values and names are constructed and sourced. Employing Web Application Firewalls (WAFs) with rules to detect and block CRLF injection attempts can provide additional protection. Monitoring HTTP traffic for anomalies indicative of request/response splitting attacks is also recommended. Incorporating automated security testing, including fuzzing and static analysis focused on header injection, can help detect similar issues proactively. Finally, educating developers on secure handling of HTTP headers and the risks of CRLF injection is critical to prevent recurrence.
Description
Trillium is a composable toolkit for building internet applications with async rust. In `trillium-http` prior to 0.3.12 and `trillium-client` prior to 0.5.4, insufficient validation of outbound header values may lead to request splitting or response splitting attacks in scenarios where attackers have sufficient control over headers. This only affects use cases where attackers have control of request headers, and can insert "\r\n" sequences. Specifically, if untrusted and unvalidated input is inserted into header names or values. Outbound `trillium_http::HeaderValue` and `trillium_http::HeaderName` can be constructed infallibly and were not checked for illegal bytes when sending requests from the client or responses from the server. Thus, if an attacker has sufficient control over header values (or names) in a request or response that they could inject `\r\n` sequences, they could get the client and server out of sync, and then pivot to gain control over other parts of requests or responses. (i.e.exfiltrating data from other requests, SSRF, etc.) In `trillium-http` versions 0.3.12 and later, if a header name is invalid in server response headers, the specific header and any associated values are omitted from network transmission. Additionally, if a header value is invalid in server response headers, the individual header value is omitted from network transmission. Other headers values with the same header name will still be sent. In `trillium-client` versions 0.5.4 and later, if any header name or header value is invalid in the client request headers, awaiting the client Conn returns an `Error::MalformedHeader` prior to any network access. As a workaround, Trillium services and client applications should sanitize or validate untrusted input that is included in header values and header names. Carriage return, newline, and null characters are not allowed.