Cyber Resilience

CVE-2026-43974

Ninenines Gun 2.0.0 – 2.4.0

Published
08 June 2026
Modified
18 August 2026
Patch / advisory
CVSS Score v4 8.7
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0038 31th percentile
Risk Priority 44 floored blend · peak EPSS

Summary

CVE-2026-43974 is a high-severity Improper Enforcement of Behavioral Workflow (CWE-841) vulnerability in Ninenines Gun. Its CVSS base score is 8.7 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique External Remote Services (T1133); ranked at the 31th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-3 (Access Enforcement) and IA-11 (Re-authentication) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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. In gun_http:handle_inform/8, when a 101 Switching Protocols response…

more

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. A 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. This issue affects gun: from 2.0.0 before 2.4.0.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1133 External Remote Services Persistence
Adversaries may leverage external-facing remote services to initially access and/or persist within a network.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1657 Financial Theft Impact
Adversaries may steal monetary resources from targets through extortion, social engineering, technical theft, or other methods aimed at their own financial gain at the expense of the availability of these resources for victims.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-3130Shared CWE-841
CVE-2026-46540Shared CWE-841
CVE-2025-36333Shared CWE-841
CVE-2023-42939Shared CWE-841
CVE-2025-48477Shared CWE-841
CVE-2025-55332Shared CWE-841
CVE-2025-55330Shared CWE-841
CVE-2026-24774Shared CWE-841
CVE-2025-55682Shared CWE-841
CVE-2024-46307Shared CWE-841

Affected Assets

ninenines
gun
2.0.0 — 2.4.0

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V7.2.1

Mitigating Controls (NIST 800-53 r5) AI

Access enforcement can require each successive workflow step to present the proper authorization context before proceeding.

Re-authentication requirements can be placed at critical workflow steps to ensure the actor has performed prior behaviors.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
degrades

Secure development practices directly address proper workflow enforcement during design and coding.

PR.AA-05 partial match
prevents

Enforcing authorization policies can include sequence constraints on multi-step actions.

PR.PS-01 partial match
prevents

Hardened configuration baselines can embed required workflow ordering rules.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing can detect workflow bypasses but does not enforce them at runtime.

prevents

Secure development lifecycle requires explicit workflow enforcement in multi-step processes.

prevents

Application security requirements include sequencing and state-transition rules for critical workflows.

prevents

Secure architecture principles address proper ordering of security-critical operations.

prevents

Secure coding practices can prevent missing workflow checks but do not define the control itself.

mitigates

Change management can require workflow adherence for changes but is not the primary mitigation.

References