CVE-2026-43974: Gun Gun Has An Unexpected Status Vulnerability
HIGHCVE-2026-43974 is a HIGH gun has an unexpected status vulnerability (CWE-841: Improper Enforcement of Behavioral Workflow) affecting Gun libraries in the Hex ecosystem. The issue involves gun has an unexpected status code or return value vulnerability. Remediation is available by upgrading affected packages to version 2.4.0.
CVE-2026-43974 at a Glance
How to Fix CVE-2026-43974
To remediate this vulnerability, upgrade all affected Gun dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade gun to 2.4.0
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for gun
How to Check if You Are Affected
To determine whether your application is affected by CVE-2026-43974, inspect your project dependencies for Gun:
inspect dependencies for gun
Analyze the terminal output to locate any version of Gun in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 2.4.0), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-841: Improper Enforcement of Behavioral Workflow, where the product supports a session in which more than one behavior must be performed by an actor, but it does not properly ensure that the actor performs the behaviors in the required sequence. In Gun, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-43974 Affected Gun Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
gun
|
Hex |
≥ 2.0.0
< 2.4.0
|
2.4.0
|
References
Frequently Asked Questions
What is CVE-2026-43974?
Which Gun versions are affected?
What version fixes CVE-2026-43974?
Is gun affected?
What CWE is associated with CVE-2026-43974?
How can I check Hex dependencies for CVE-2026-43974?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-2j82-37xg-f9wp",
"modified" : "2026-07-29T15:45:59Z",
"published" : "2026-06-08T15:33:00Z",
"aliases" : [ "CVE-2026-43974" ],
"summary" : "gun has an Unexpected Status Code or Return Value vulnerability",
"details" : "Unexpected Status Code or Return Value vulnerability in ninenines gun (gun_http module) allows a malicious HTTP server to force the client into raw protocol mode via an unsolicited 101 Switching Protocols response.\n\nIn gun_http:handle_inform/8, when a 101 Switching Protocols response is received over HTTP/1.1, the function verifies only that the Upgrade header is syntactically valid and that the stream reference is a plain reference(). It does not check whether the client ever sent an Upgrade or Connection: upgrade header on the corresponding request. Because this check is absent, any 101 response (solicited or not) causes gun to dispatch a gun_upgrade message to the caller and transition the entire connection to raw protocol mode.\n\nA malicious or compromised HTTP server can send an unsolicited 101 response to any HTTP/1.1 request, causing the gun client to abandon HTTP framing for that connection. Once in raw mode, gun_raw applies no flow control (flow=infinity) and re-arms socket active mode after every received packet, so the server can flood the client with arbitrary bytes. These are forwarded as unbounded gun_data messages to the owner process, exhausting its mailbox and BEAM memory, ultimately crashing the VM.\n\nThis issue affects gun: from 2.0.0 before 2.4.0.",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "Hex",
"name" : "gun"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "2.0.0"
}, {
"fixed" : "2.4.0"
} ]
} ]
} ],
"references" : [ {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-43974"
}, {
"type" : "WEB",
"url" : "https://github.com/ninenines/gun/commit/5b48068c29ce5e112cb149b5857c7d4dc319a81b"
}, {
"type" : "WEB",
"url" : "https://cna.erlef.org/cves/CVE-2026-43974.html"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/ninenines/gun"
}, {
"type" : "WEB",
"url" : "https://osv.dev/vulnerability/EEF-CVE-2026-43974"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-841" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2026-07-29T15:45:59Z",
"nvd_published_at" : "2026-06-08T15:16:46Z"
}
}