PT-2026-47347 · Cowlib · Cowlib

·

CVE-2026-43966

·

Published

2026-06-08

·

Updated

2026-08-17

CVSS v4.0

6.3

Medium

VectorAV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N
Name of the Vulnerable Software and Affected Versions cowlib versions 2.9.0 and later
Description Improper neutralization of CRLF sequences in HTTP headers allows HTTP response splitting via non-VCHAR bytes in structured-fields string values. The function escape string/2 in cow http struct hd only escapes backslashes and double quotes, passing other bytes verbatim. This creates an asymmetry where the parser accepts only printable ASCII, but the encoder emits any byte, including Carriage Return (CR) and Line Feed (LF). An application building a structured HTTP header via item/1 in cow http struct hd (or wrappers like wt protocol/1 in cow http hd) using attacker-controlled input can have CRLF sequences injected. These sequences terminate the current header, causing subsequent bytes to be interpreted as a new header.
Recommendations For versions 2.9.0 and later, validate all values passed into structured-fields header builders, such as item/1 in cow http struct hd, and reject any values containing CR or LF bytes or those not from a trusted source. As a temporary mitigation, restrict the use of attacker-controlled data within the item/1 function of cow http struct hd.

Exploit

Fix

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

AZL-90162
CVE-2026-43966
GHSA-W4F7-4CXR-RV3C

Affected Products

Cowlib