CVE-2026-97152: 
Linux Debian vulnerability analysis and mitigation

Overview

CVE-2026-97152 is a remotely exploitable heap-based buffer overflow in the WebSocket transport layer of Nanomsg, caused by an unchecked copy of the Sec-WebSocket-Version HTTP header via snprintf. It affects Nanomsg versions 0.5-beta (0.5.0) through all 1.x releases prior to 1.2.3. The vulnerability was disclosed on September 24, 2026, with a patch merged on August 2, 2026, and released in version 1.2.3. It carries a CVSS v4.0 base score of 8.6 (High) (Github Advisory, Feedly).

Technical details

The root cause is classified as CWE-122 (Heap-based Buffer Overflow) and CWE-120 (Buffer Copy without Checking Size of Input). In src/transports/ws/ws_handshake.c, the WebSocket handshake handler copies the client-supplied Sec-WebSocket-Version header value into a fixed-size response buffer using snprintf without validating the length of the input, allowing an attacker to overflow the heap buffer. The fix, introduced in PR #1130, bounds the snprintf call using sizeof(self->response) and hardcodes the failure response version to 13 rather than reflecting the client-provided value (GitHub PR #1130, Github Advisory). Exploitation requires low privileges (e.g., the ability to initiate a WebSocket connection to the target), but no user interaction or special deployment conditions (Github Advisory).

Impact

Successful exploitation can result in arbitrary code execution on the host running the vulnerable Nanomsg WebSocket endpoint, with high integrity and availability impact on the vulnerable system. The CVSS v4.0 scoring also reflects high confidentiality, integrity, and availability impact on subsequent systems, indicating potential for lateral movement or broader infrastructure compromise. While direct confidentiality impact on the vulnerable system itself is rated None (data is not directly leaked by the overflow), an attacker achieving code execution could access sensitive data, disrupt services, or pivot to connected systems (Github Advisory, Feedly).

Exploitability

As of the disclosure date (September 24, 2026), there is no public proof-of-concept exploit and no evidence of in-the-wild exploitation (Feedly). The EPSS score is 0.0, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. No threat actor attribution has been reported. The attack vector is network-accessible with low complexity and low privilege requirements, making the vulnerability relatively straightforward to exploit if a PoC were developed (Github Advisory).

Exploitation steps

  1. Reconnaissance: Identify services exposing Nanomsg WebSocket transport endpoints (default port varies by application configuration) using network scanners such as Nmap or Shodan, targeting systems running Nanomsg versions 0.5.0 through 1.2.2.
  2. Establish WebSocket connection: Initiate a WebSocket upgrade request (HTTP GET with Upgrade: websocket header) to the target Nanomsg endpoint. Low-privilege access (e.g., any authenticated or network-reachable user) is sufficient.
  3. Craft malicious header: Include an oversized or specially crafted Sec-WebSocket-Version header value in the HTTP upgrade request — a string significantly longer than the fixed response buffer in ws_handshake.c.
  4. Trigger buffer overflow: The server-side snprintf call copies the attacker-controlled header value into the fixed-size heap buffer without bounds checking, overflowing adjacent heap memory.
  5. Achieve code execution: By carefully controlling the overflow content (e.g., overwriting heap metadata or function pointers), an attacker can redirect execution flow to attacker-controlled shellcode or a ROP chain, achieving arbitrary code execution as the Nanomsg process user (GitHub PR #1130, Github Advisory).

Indicators of compromise

  • Network: Inbound WebSocket upgrade requests (HTTP GET with Upgrade: websocket) containing abnormally long or malformed Sec-WebSocket-Version header values (e.g., values exceeding typical version strings like "13"); unexpected outbound connections from the Nanomsg process to external IPs following such requests.
  • Logs: Application or system logs showing crashes, segmentation faults, or abnormal termination of the Nanomsg process; repeated failed WebSocket handshake attempts from the same source IP.
  • Process: Unexpected child processes spawned by the Nanomsg service process (e.g., shells, network utilities); unusual memory usage or heap corruption errors in process logs.
  • File System: New or modified files in directories writable by the Nanomsg service account, such as dropped scripts, backdoors, or cron entries.

Mitigation and workarounds

Upgrade Nanomsg to version 1.2.3 or later, which includes the fix for the unchecked snprintf call in the WebSocket handshake handler (Nanomsg Release 1.2.3). If immediate patching is not feasible, restrict network access to Nanomsg WebSocket endpoints to trusted IP ranges using firewall rules, or disable WebSocket transport if it is not operationally required (Feedly). Red Hat has tracked this issue under Bugzilla bug 2539915 with urgent priority (Red Hat Bugzilla).

Community reactions

Red Hat triaged the vulnerability as urgent severity and opened a tracking bug (BZ#2539915) shortly after disclosure (Red Hat Bugzilla). The fix was authored by the Nanomsg project maintainer (gdamore) and merged via PR #1130 on August 2, 2026, prior to the CVE's public disclosure in September 2026 (GitHub PR #1130). No significant broader media coverage or notable researcher commentary has been identified at this time.

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Affected

bookworm

nanomsg

Affected

sid

nanomsg

Affected

trixie

nanomsg

Affected

Ubuntu

Unknown

bionic (esm-apps)

nanomsg

Unknown

devel

nanomsg

Unknown

focal (esm-apps)

nanomsg

Unknown

jammy

nanomsg

Unknown

jammy (esm-apps)

nanomsg

Unknown

noble

nanomsg

Unknown

noble (esm-apps)

nanomsg

Unknown

resolute

nanomsg

Unknown

Source: This report was generated using AI

Related Linux Debian vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-97152HIGH8.6
  • Linux Debian logoLinux Debian
  • nanomsg
NoNoSep 24, 2026
CVE-2026-96889HIGH7.8
  • Linux Debian logoLinux Debian
  • librsvg2-tools
NoNoSep 23, 2026
CVE-2026-59980MEDIUM6.3
  • Linux Debian logoLinux Debian
  • python-hpack
NoNoSep 23, 2026
CVE-2026-97149MEDIUM5.3
  • Linux Debian logoLinux Debian
  • swift
NoNoSep 24, 2026
CVE-2026-96546LOW2.5
  • Linux Debian logoLinux Debian
  • gimp-help-browser
NoNoSep 23, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management