Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-43974— gun HTTP/1.1 client accepts unsolicited 101 Switching Protocols response allowing server-driven protocol hijack and OOM

Quick assessment

Affected
ninenines gun
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Gun是Nine Nines开源的一款支持HTTP/1.1、HTTP/2和WebSocket的Erlang HTTP客户端。 gun 2.0.0版本至2.4.0之前版本存在安全漏洞,该漏洞源于gun_http模块存在意外状态码或返回值,可能导致恶意HTTP服务器通过未经请求的101 Switching Protocols响应强制客户端进入原始协议模式。

AI Predicted 7.5 Difficulty: Hard EPSS 0.64% · P50

Affected Version Matrix 2

VendorProduct Version RangeStatus
ninenines gun 2.0.0< 2.4.0 affected
a3c2edbb8c807717e2f10520c6cf1e77a62eab2e< 5b48068c29ce5e112cb149b5857c7d4dc319a81b affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-43974

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
gun HTTP/1.1 client accepts unsolicited 101 Switching Protocols response allowing server-driven protocol hijack and OOM
Source: CVE Program / CVE List V5
Vulnerability Description
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 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.
Source: CVE Program / CVE List V5
CVSS Information
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
Source: CVE Program / CVE List V5
Vulnerability Type
行为工作流的不恰当实施
Source: CVE Program / CVE List V5
Vulnerability Title
Gun 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Gun是Nine Nines开源的一款支持HTTP/1.1、HTTP/2和WebSocket的Erlang HTTP客户端。 gun 2.0.0版本至2.4.0之前版本存在安全漏洞,该漏洞源于gun_http模块存在意外状态码或返回值,可能导致恶意HTTP服务器通过未经请求的101 Switching Protocols响应强制客户端进入原始协议模式。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
ninenines gun 2.0.0 ~ 2.4.0 cpe:2.3:a:ninenines:gun:*:*:*:*:*:*:*:*
ninenines gun a3c2edbb8c807717e2f10520c6cf1e77a62eab2e ~ 5b48068c29ce5e112cb149b5857c7d4dc319a81b cpe:2.3:a:ninenines:gun:*:*:*:*:*:*:*:*

II. Public POCs for CVE-2026-43974

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-43974

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-43974 (1)

Vendor Advisories for CVE-2026-43974 (2)

Same Patch Batch · ninenines · 2026-06-08 · 4 CVEs total

CVE-2026-43966 6.3 MEDIUM HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/2
CVE-2026-43972 gun HTTP/2 PUSH_PROMISE authority not validated against connection origin allows cross-ori
CVE-2026-43973 gun HTTP/1.1 response buffer has no size limit allowing server-controlled memory exhaustio

IV. Related Vulnerabilities

V. Comments for CVE-2026-43974

No comments yet


Leave a comment