CVE-2026-43974: CWE-841 Improper Enforcement of Behavioral Workflow in ninenines gun
CVE-2026-43974 is a high-severity vulnerability in the ninenines gun HTTP client (gun_http module) versions from 2. 0. 0 before 2. 4. 0. It allows a malicious HTTP server to send an unsolicited 101 Switching Protocols response, causing the client to incorrectly switch to raw protocol mode without verifying if the client requested an upgrade. This leads to unbounded data flooding, exhausting the client's mailbox and BEAM memory, and ultimately crashing the Erlang VM. The vulnerability arises from improper enforcement of behavioral workflow in handling HTTP upgrade responses.
AI Analysis
Technical Summary
The vulnerability exists in the gun_http:handle_inform/8 function, which upon receiving a 101 Switching Protocols response over HTTP/1.1, only checks the syntactic validity of the Upgrade header and that the stream reference is plain, but does not verify if the client sent an Upgrade or Connection: upgrade header in the request. Consequently, any unsolicited 101 response causes gun to dispatch a gun_upgrade message and switch the connection to raw protocol mode. In raw mode, gun_raw disables flow control and re-arms socket active mode after every packet, allowing a malicious server to flood the client with arbitrary data. This data is forwarded as unbounded gun_data messages to the owner process, leading to mailbox and memory exhaustion and crashing the BEAM VM. The issue affects gun versions from 2.0.0 up to but not including 2.4.0.
Potential Impact
A malicious or compromised HTTP server can exploit this vulnerability by sending unsolicited 101 Switching Protocols responses to any HTTP/1.1 request, causing the gun client to abandon HTTP framing and enter raw protocol mode. This results in unbounded data flooding to the client process, exhausting its mailbox and BEAM memory, and ultimately causing a denial of service through VM crash. The impact is high due to the potential for complete service disruption of applications relying on the gun HTTP client.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. No official fix or patch link is provided in the available data. Until a patch is available, users should consider avoiding untrusted HTTP servers or implementing additional network-level protections to detect and block unsolicited 101 Switching Protocols responses. Monitor vendor communications for updates on remediation.
CVE-2026-43974: CWE-841 Improper Enforcement of Behavioral Workflow in ninenines gun
Description
CVE-2026-43974 is a high-severity vulnerability in the ninenines gun HTTP client (gun_http module) versions from 2. 0. 0 before 2. 4. 0. It allows a malicious HTTP server to send an unsolicited 101 Switching Protocols response, causing the client to incorrectly switch to raw protocol mode without verifying if the client requested an upgrade. This leads to unbounded data flooding, exhausting the client's mailbox and BEAM memory, and ultimately crashing the Erlang VM. The vulnerability arises from improper enforcement of behavioral workflow in handling HTTP upgrade responses.
CVSS v4.0
Score 8.7high
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability exists in the gun_http:handle_inform/8 function, which upon receiving a 101 Switching Protocols response over HTTP/1.1, only checks the syntactic validity of the Upgrade header and that the stream reference is plain, but does not verify if the client sent an Upgrade or Connection: upgrade header in the request. Consequently, any unsolicited 101 response causes gun to dispatch a gun_upgrade message and switch the connection to raw protocol mode. In raw mode, gun_raw disables flow control and re-arms socket active mode after every packet, allowing a malicious server to flood the client with arbitrary data. This data is forwarded as unbounded gun_data messages to the owner process, leading to mailbox and memory exhaustion and crashing the BEAM VM. The issue affects gun versions from 2.0.0 up to but not including 2.4.0.
Potential Impact
A malicious or compromised HTTP server can exploit this vulnerability by sending unsolicited 101 Switching Protocols responses to any HTTP/1.1 request, causing the gun client to abandon HTTP framing and enter raw protocol mode. This results in unbounded data flooding to the client process, exhausting its mailbox and BEAM memory, and ultimately causing a denial of service through VM crash. The impact is high due to the potential for complete service disruption of applications relying on the gun HTTP client.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. No official fix or patch link is provided in the available data. Until a patch is available, users should consider avoiding untrusted HTTP servers or implementing additional network-level protections to detect and block unsolicited 101 Switching Protocols responses. Monitor vendor communications for updates on remediation.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- EEF
- Date Reserved
- 2026-05-04T18:23:25.574Z
- Cvss Version
- 4.0
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a26d2d1e29bf47b50f2165c
Added to database: 6/8/2026, 2:33:53 PM
Last enriched: 6/8/2026, 2:48:51 PM
Last updated: 6/8/2026, 3:37:25 PM
Views: 3
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.