Impact
The gun HTTP/1.1 client contains a flaw where it accepts an unsolicited 101 Switching Protocols response without verifying that the original request requested an upgrade or that the Connection header specified upgrade. As a result, any server that sends a 101 response—whether or not it was requested—causes the client to transition the entire connection into raw protocol mode. In raw mode the client forwards all received bytes as unbounded gun_data messages with infinite flow control, exhausting the owning process’s mailbox and BEAM memory until the virtual machine crashes. This vulnerability is a classic example of CWE‑841, improper handling of protocol upgrade headers, and leads to resource exhaustion rather than traditional remote code execution.
Affected Systems
The issue affects the non‑nine‑s, gun HTTP/1.1 client library. Versions from 2.0.0 up to, but not including, 2.4.0 are impacted. Users running any of those releases on their applications or services that act as HTTP clients are potentially vulnerable.
Risk and Exploitability
The CVSS score of 8.7 classifies this flaw as High, indicating significant impact and a substantial attack surface. Exploitation requires a remote actor capable of serving HTTP traffic to the vulnerable client. While EPSS data is not available, the high CVSS combined with the possibility for the attacker to send arbitrary payloads after hijacking the connection suggests a non‑negligible risk of exploitation. The vulnerability is not currently listed in the CISA KEV catalog, but the combination of an unverified protocol upgrade and unlimited memory usage makes it a prime target for denial of service campaigns.
OpenCVE Enrichment