CVE Catalog

CVE-2026-43971

MediumCVSS 6.3
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.37%

31th percentile - higher than 31% of all known CVEs

Summary

cowlib (Erlang) versions 2.9.0 through 2.20.0 fail to escape values inserted into the Link: header in cow_link:link/1. Special characters in the URI, rel, or attribute keys can be injected into the header, allowing additional Link directives to be smuggled. As a result, victim browsers may be forced to make connections to attacker-controlled resources.

Risk Assessment

An attacker can force users' browsers to connect to external servers controlled by the attacker (e.g., via rel="preconnect" or rel="preload"), potentially leading to data leakage, tracking, or CSRF attacks. The risk applies to applications that pass user input to cow_link:link/1.

Recommendation

Upgrade cowlib to version 2.20.0 or later. Additionally, consider validating and escaping input before passing it to header-generating functions.

Other vulnerabilities in cowlib

See all
Original NVD description (English source)

Improper Encoding or Escaping of Output vulnerability in ninenines cowlib allows Link header directive smuggling via unescaped special characters in cow_link:link/1. cow_link:do_link/1 in cowlib interpolates the target URI, rel value, and attribute keys directly into the serialized Link: header value without escaping or token-grammar validation. A > byte in target prematurely closes the URI slot, allowing an attacker to append additional link entries with attacker-chosen rel directives. A " or \ in rel escapes the quoted string and opens new parameters. Any byte — including whitespace, =, and " — in an attribute key is emitted verbatim. Because browsers act on Link: directives such as rel="preconnect", rel="preload", and rel="prerender", an attacker who can influence these fields in an application that round-trips parsed Link headers through cow_link:link/1 can force victim browsers to make out-of-band connections to attacker-controlled origins. This issue affects cowlib: from 2.9.0 before 2.20.0.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS