Read the docs
TI-2026-32017 Aliases CVE-2026-43972GHSA-36w4-95hv-5vwg

gun HTTP/2 PUSH_PROMISE authority not validated against connection origin allows cross-origin cookie injection

Priority LOW 27CWE-346Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
Present
Impact type
Security bypass
Confidentiality · integrity · availability
None · Low · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-346.

Summary

Origin Validation Error vulnerability in ninenines gun (gun_http2 module) allows cross-origin cookie injection via unvalidated HTTP/2 PUSH_PROMISE authority. In gun_http2:push_promise_frame/7, the :authority pseudo-header from an incoming PUSH_PROMISE frame is stored verbatim into the promised stream record without checking that it matches the connection's origin. When gun_http2:headers_frame/9 later processes the response headers for the promised stream, it calls gun_cookies:set_cookie_header/7 with the unvalidated server-supplied authority before any status branching and before user code can act. This violates RFC 7540 §10.6 / RFC 9113 §8.4, which require receivers to treat as a protocol error any push for a resource the server is not authoritative for. A malicious or compromised HTTP/2 server can plant cookies scoped to arbitrary third-party domains into the client's shared cookie store. This enables session fixation attacks against those domains and, if the planted cookie overrides a legitimate session token, may result in account takeover. No user interaction beyond making a normal HTTP/2 request to the attacker-controlled server is required. This issue affects gun: from 2.0.0 before 2.4.0.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00168 6th percentileScored 2026-11-07
Fix Fixed gun (ninenines): 2.4.0gun (Hex): 2.4.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
nineninesgun2.0.0 to before 2.4.02.4.0Patch availableCNA
—gun (Hex)2.0.0 to before 2.4.02.4.0Patch availableGHSA-36w4-95hv-5vwg
  • gun Vendorninenines Affected 2.0.0 to before 2.4.0 Fixed in 2.4.0 Patch available CNA
  • gun (Hex) Vendor— Affected 2.0.0 to before 2.4.0 Fixed in 2.4.0 Patch available GHSA-36w4-95hv-5vwg

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:ninenines:gun:*:*:*:*:*:*:*:*2.0.0 to before 2.4.0Vulnerableninenines
  • cpe:2.3:a:ninenines:gun:*:*:*:*:*:*:*:* Versions 2.0.0 to before 2.4.0 Vulnerable ·ninenines

Remediation

  • Fix · CNA gun (ninenines) Fixed in 2.4.0
  • Fix · GHSA-36w4-95hv-5vwg gun (Hex) Fixed in 2.4.0 Advisory →

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    ninenines gun 2.4.0

    3 records Highest priority Priority MEDIUM 2 MEDIUM, 1 LOW

    Other records, highest priority first

    • TI-2026-32019 gun HTTP/1.1 client accepts unsolicited 101 Switching Protocols response allowing server-driven protocol hijack and OOMPriority MEDIUM 44
    • TI-2026-32018 gun HTTP/1.1 response buffer has no size limit allowing server-controlled memory exhaustionPriority MEDIUM 44

Vendor assessments

Red Hat

Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-43972
  2. 2026-10-03 Alias added: GHSA-36w4-95hv-5vwg

References

  • TI-2026-32019 gun HTTP/1.1 client accepts unsolicited 101 Switching Protocols response allowing server-driven protocol hijack and OOM CVSS 4.0HIGH 8.7
  • TI-2026-32018 gun HTTP/1.1 response buffer has no size limit allowing server-controlled memory exhaustion CVSS 4.0HIGH 8.7

Sources