{"id":"EEF-CVE-2026-23943","summary":"Pre-auth SSH DoS via unbounded zlib inflate","details":"## Summary\n\nImproper Handling of Highly Compressed Data (Compression Bomb) vulnerability in Erlang OTP ssh (ssh_transport modules) allows Denial of Service via Resource Depletion.\n\nThe 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.\n\nTwo compression algorithms are affected:\n\n* zlib: Activates immediately after key exchange, enabling unauthenticated attacks\n* zlib@openssh.com: Activates post-authentication, enabling authenticated attacks\n\nEach 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.\n\nThis 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.\n\nThis issue affects OTP from OTP 17.0 until OTP 28.4.1, 27.3.4.9 and 26.2.5.18 corresponding to ssh from 3.0.1 until 5.5.1, 5.2.11.6 and 5.1.4.14.\n\n## Workaround\n\nBest workaround - Disable all compression:\n\n{preferred_algorithms, [{compression, ['none']}]}\n\nAlternative mitigations (less secure):\n\n* Disable only pre-auth zlib compression (authenticated users can still exploit via zlib@openssh.com):\n  {modify_algorithms, [{rm, [{compression, ['zlib']}]}]}\n* Limit concurrent sessions (reduces attack surface but does not prevent exploitation):\n  {max_sessions, N}  % Cap total concurrent sessions (default is infinity)\n\n## Configuration\n\nThe SSH server or client must advertise zlib or zlib@openssh.com compression. Both are enabled by default. With zlib, the attack is pre-authentication; with zlib@openssh.com, authentication is required first.","aliases":["CVE-2026-23943","GHSA-c836-qprm-jw9r"],"modified":"2026-04-07T15:00:14.784329Z","published":"2026-03-13T09:11:57.794Z","database_specific":{"cwe_ids":["CWE-409"],"capec_ids":["CAPEC-130","CAPEC-490"],"cpe_ids":["cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"]},"references":[{"type":"ADVISORY","url":"https://github.com/erlang/otp/security/advisories/GHSA-c836-qprm-jw9r"},{"type":"WEB","url":"https://cna.erlef.org/cves/CVE-2026-23943.html"},{"type":"WEB","url":"https://www.erlang.org/doc/system/versions.html#order-of-versions"},{"type":"FIX","url":"https://github.com/erlang/otp/commit/43a87b949bdff12d629a8c34146711d9da93b1b1"},{"type":"FIX","url":"https://github.com/erlang/otp/commit/93073c3bd338c60cd2bae715ce6a1d4ffc1a8fd3"},{"type":"FIX","url":"https://github.com/erlang/otp/commit/0c1c04b191f6ab940e8fcfabce39eb5a8a6440a4"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/erlang/otp","events":[{"introduced":"07b8f441ca711f9812fad9e9115bab3c3aa92f79"},{"fixed":"43a87b949bdff12d629a8c34146711d9da93b1b1"},{"fixed":"93073c3bd338c60cd2bae715ce6a1d4ffc1a8fd3"},{"fixed":"0c1c04b191f6ab940e8fcfabce39eb5a8a6440a4"}]}],"versions":["OTP-17.0","OTP-17.0.1","OTP-17.0.2","OTP-17.1","OTP-17.1.1","OTP-17.1.2","OTP-17.2","OTP-17.2.1","OTP-17.2.2","OTP-17.3","OTP-17.3.1","OTP-17.3.2","OTP-17.3.3","OTP-17.3.4","OTP-17.4","OTP-17.4.1","OTP-17.5","OTP-17.5.1","OTP-17.5.2","OTP-17.5.3","OTP-17.5.4","OTP-17.5.5","OTP-17.5.6","OTP-17.5.6.1","OTP-17.5.6.10","OTP-17.5.6.2","OTP-17.5.6.3","OTP-17.5.6.4","OTP-17.5.6.5","OTP-17.5.6.6","OTP-17.5.6.7","OTP-17.5.6.8","OTP-17.5.6.9","OTP-18.0","OTP-18.0-rc1","OTP-18.0-rc2","OTP-18.0.1","OTP-18.0.2","OTP-18.0.3","OTP-18.1","OTP-18.1.1","OTP-18.1.2","OTP-18.1.3","OTP-18.1.4","OTP-18.1.5","OTP-18.2","OTP-18.2.1","OTP-18.2.2","OTP-18.2.3","OTP-18.2.4","OTP-18.2.4.0.1","OTP-18.2.4.1","OTP-18.3","OTP-18.3.1","OTP-18.3.2","OTP-18.3.3","OTP-18.3.4","OTP-18.3.4.1","OTP-18.3.4.1.1","OTP-18.3.4.10","OTP-18.3.4.11","OTP-18.3.4.2","OTP-18.3.4.3","OTP-18.3.4.4","OTP-18.3.4.5","OTP-18.3.4.6","OTP-18.3.4.7","OTP-18.3.4.8","OTP-18.3.4.9","OTP-19.0","OTP-19.0-rc1","OTP-19.0-rc2","OTP-19.0.1","OTP-19.0.2","OTP-19.0.3","OTP-19.0.4","OTP-19.0.5","OTP-19.0.6","OTP-19.0.7","OTP-19.1","OTP-19.1.1","OTP-19.1.2","OTP-19.1.3","OTP-19.1.4","OTP-19.1.5","OTP-19.1.6","OTP-19.1.6.1","OTP-19.2","OTP-19.2.1","OTP-19.2.2","OTP-19.2.3","OTP-19.2.3.1","OTP-19.3","OTP-19.3.1","OTP-19.3.2","OTP-19.3.3","OTP-19.3.4","OTP-19.3.5","OTP-19.3.6","OTP-19.3.6.1","OTP-19.3.6.10","OTP-19.3.6.11","OTP-19.3.6.12","OTP-19.3.6.13","OTP-19.3.6.2","OTP-19.3.6.3","OTP-19.3.6.4","OTP-19.3.6.5","OTP-19.3.6.6","OTP-19.3.6.7","OTP-19.3.6.8","OTP-19.3.6.9","OTP-20.0","OTP-20.0-rc1","OTP-20.0-rc2","OTP-20.0.1","OTP-20.0.2","OTP-20.0.3","OTP-20.0.4","OTP-20.0.5","OTP-20.1","OTP-20.1.1","OTP-20.1.2","OTP-20.1.3","OTP-20.1.4","OTP-20.1.5","OTP-20.1.6","OTP-20.1.7","OTP-20.1.7.1","OTP-20.2","OTP-20.2.0.1","OTP-20.2.1","OTP-20.2.2","OTP-20.2.3","OTP-20.2.4","OTP-20.3","OTP-20.3.1","OTP-20.3.2","OTP-20.3.2.1","OTP-20.3.3","OTP-20.3.4","OTP-20.3.5","OTP-20.3.6","OTP-20.3.7","OTP-20.3.8","OTP-20.3.8.1","OTP-20.3.8.10","OTP-20.3.8.11","OTP-20.3.8.12","OTP-20.3.8.13","OTP-20.3.8.14","OTP-20.3.8.15","OTP-20.3.8.16","OTP-20.3.8.17","OTP-20.3.8.18","OTP-20.3.8.19","OTP-20.3.8.2","OTP-20.3.8.20","OTP-20.3.8.21","OTP-20.3.8.22","OTP-20.3.8.23","OTP-20.3.8.24","OTP-20.3.8.25","OTP-20.3.8.26","OTP-20.3.8.3","OTP-20.3.8.4","OTP-20.3.8.5","OTP-20.3.8.6","OTP-20.3.8.7","OTP-20.3.8.8","OTP-20.3.8.9","OTP-21.0","OTP-21.0-rc1","OTP-21.0-rc2","OTP-21.0.1","OTP-21.0.2","OTP-21.0.3","OTP-21.0.4","OTP-21.0.5","OTP-21.0.6","OTP-21.0.7","OTP-21.0.8","OTP-21.0.9","OTP-21.1","OTP-21.1.1","OTP-21.1.2","OTP-21.1.3","OTP-21.1.4","OTP-21.2","OTP-21.2.1","OTP-21.2.2","OTP-21.2.3","OTP-21.2.4","OTP-21.2.5","OTP-21.2.6","OTP-21.2.7","OTP-21.3","OTP-21.3.1","OTP-21.3.2","OTP-21.3.3","OTP-21.3.4","OTP-21.3.5","OTP-21.3.6","OTP-21.3.7","OTP-21.3.7.1","OTP-21.3.8","OTP-21.3.8.1","OTP-21.3.8.10","OTP-21.3.8.11","OTP-21.3.8.12","OTP-21.3.8.13","OTP-21.3.8.14","OTP-21.3.8.15","OTP-21.3.8.16","OTP-21.3.8.17","OTP-21.3.8.18","OTP-21.3.8.19","OTP-21.3.8.2","OTP-21.3.8.20","OTP-21.3.8.21","OTP-21.3.8.22","OTP-21.3.8.23","OTP-21.3.8.24","OTP-21.3.8.3","OTP-21.3.8.4","OTP-21.3.8.5","OTP-21.3.8.6","OTP-21.3.8.7","OTP-21.3.8.8","OTP-21.3.8.9","OTP-22.0","OTP-22.0-rc1","OTP-22.0-rc2","OTP-22.0-rc3","OTP-22.0.1","OTP-22.0.2","OTP-22.0.3","OTP-22.0.4","OTP-22.0.5","OTP-22.0.6","OTP-22.0.7","OTP-22.1","OTP-22.1.1","OTP-22.1.2","OTP-22.1.3","OTP-22.1.4","OTP-22.1.5","OTP-22.1.6","OTP-22.1.7","OTP-22.1.8","OTP-22.1.8.1","OTP-22.2","OTP-22.2.1","OTP-22.2.2","OTP-22.2.3","OTP-22.2.4","OTP-22.2.5","OTP-22.2.6","OTP-22.2.7","OTP-22.2.8","OTP-22.3","OTP-22.3.1","OTP-22.3.2","OTP-22.3.3","OTP-22.3.4","OTP-22.3.4.1","OTP-22.3.4.10","OTP-22.3.4.11","OTP-22.3.4.12","OTP-22.3.4.12.1","OTP-22.3.4.13","OTP-22.3.4.14","OTP-22.3.4.15","OTP-22.3.4.16","OTP-22.3.4.17","OTP-22.3.4.18","OTP-22.3.4.19","OTP-22.3.4.2","OTP-22.3.4.20","OTP-22.3.4.21","OTP-22.3.4.22","OTP-22.3.4.23","OTP-22.3.4.24","OTP-22.3.4.25","OTP-22.3.4.26","OTP-22.3.4.27","OTP-22.3.4.3","OTP-22.3.4.4","OTP-22.3.4.5","OTP-22.3.4.6","OTP-22.3.4.7","OTP-22.3.4.8","OTP-22.3.4.9","OTP-23.0","OTP-23.0-rc1","OTP-23.0-rc2","OTP-23.0-rc3","OTP-23.0.1","OTP-23.0.2","OTP-23.0.3","OTP-23.0.4","OTP-23.1","OTP-23.1.1","OTP-23.1.2","OTP-23.1.3","OTP-23.1.4","OTP-23.1.4.1","OTP-23.1.5","OTP-23.2","OTP-23.2.1","OTP-23.2.2","OTP-23.2.3","OTP-23.2.4","OTP-23.2.5","OTP-23.2.6","OTP-23.2.7","OTP-23.2.7.1","OTP-23.2.7.2","OTP-23.2.7.3","OTP-23.2.7.4","OTP-23.2.7.5","OTP-23.3","OTP-23.3.1","OTP-23.3.2","OTP-23.3.3","OTP-23.3.4","OTP-23.3.4.1","OTP-23.3.4.10","OTP-23.3.4.11","OTP-23.3.4.12","OTP-23.3.4.13","OTP-23.3.4.14","OTP-23.3.4.15","OTP-23.3.4.16","OTP-23.3.4.17","OTP-23.3.4.18","OTP-23.3.4.19","OTP-23.3.4.2","OTP-23.3.4.20","OTP-23.3.4.3","OTP-23.3.4.4","OTP-23.3.4.5","OTP-23.3.4.6","OTP-23.3.4.7","OTP-23.3.4.8","OTP-23.3.4.9","OTP-24.0","OTP-24.0-rc1","OTP-24.0-rc2","OTP-24.0-rc3","OTP-24.0.1","OTP-24.0.2","OTP-24.0.3","OTP-24.0.4","OTP-24.0.5","OTP-24.0.6","OTP-24.1","OTP-24.1.1","OTP-24.1.2","OTP-24.1.3","OTP-24.1.4","OTP-24.1.5","OTP-24.1.6","OTP-24.1.7","OTP-24.2","OTP-24.2.1","OTP-24.2.2","OTP-24.3","OTP-24.3.1","OTP-24.3.2","OTP-24.3.3","OTP-24.3.4","OTP-24.3.4.1","OTP-24.3.4.10","OTP-24.3.4.11","OTP-24.3.4.12","OTP-24.3.4.13","OTP-24.3.4.14","OTP-24.3.4.15","OTP-24.3.4.16","OTP-24.3.4.17","OTP-24.3.4.2","OTP-24.3.4.3","OTP-24.3.4.4","OTP-24.3.4.5","OTP-24.3.4.6","OTP-24.3.4.7","OTP-24.3.4.8","OTP-24.3.4.9","OTP-25.0","OTP-25.0-rc1","OTP-25.0-rc2","OTP-25.0-rc3","OTP-25.0.1","OTP-25.0.2","OTP-25.0.3","OTP-25.0.4","OTP-25.1","OTP-25.1.1","OTP-25.1.2","OTP-25.1.2.1","OTP-25.2","OTP-25.2.1","OTP-25.2.2","OTP-25.2.3","OTP-25.3","OTP-25.3.1","OTP-25.3.2","OTP-25.3.2.1","OTP-25.3.2.10","OTP-25.3.2.11","OTP-25.3.2.12","OTP-25.3.2.13","OTP-25.3.2.14","OTP-25.3.2.15","OTP-25.3.2.16","OTP-25.3.2.17","OTP-25.3.2.18","OTP-25.3.2.19","OTP-25.3.2.2","OTP-25.3.2.20","OTP-25.3.2.21","OTP-25.3.2.3","OTP-25.3.2.4","OTP-25.3.2.5","OTP-25.3.2.6","OTP-25.3.2.7","OTP-25.3.2.8","OTP-25.3.2.9","OTP-26.0","OTP-26.0-rc1","OTP-26.0-rc2","OTP-26.0-rc3","OTP-26.0.1","OTP-26.0.2","OTP-26.1","OTP-26.1.1","OTP-26.1.2","OTP-26.2","OTP-26.2.1","OTP-26.2.2","OTP-26.2.3","OTP-26.2.4","OTP-26.2.5","OTP-26.2.5.1","OTP-26.2.5.10","OTP-26.2.5.11","OTP-26.2.5.12","OTP-26.2.5.13","OTP-26.2.5.14","OTP-26.2.5.15","OTP-26.2.5.16","OTP-26.2.5.17","OTP-26.2.5.2","OTP-26.2.5.3","OTP-26.2.5.4","OTP-26.2.5.5","OTP-26.2.5.6","OTP-26.2.5.7","OTP-26.2.5.8","OTP-26.2.5.9","OTP-27.0","OTP-27.0-rc1","OTP-27.0-rc2","OTP-27.0-rc3","OTP-27.0.1","OTP-27.1","OTP-27.1.1","OTP-27.1.2","OTP-27.1.3","OTP-27.2","OTP-27.2.1","OTP-27.2.2","OTP-27.2.3","OTP-27.2.4","OTP-27.3","OTP-27.3.1","OTP-27.3.2","OTP-27.3.3","OTP-27.3.4","OTP-27.3.4.1","OTP-27.3.4.2","OTP-27.3.4.3","OTP-27.3.4.4","OTP-27.3.4.5","OTP-27.3.4.6","OTP-27.3.4.7","OTP-27.3.4.8","OTP-28.0","OTP-28.0-rc1","OTP-28.0-rc2","OTP-28.0-rc3","OTP-28.0-rc4","OTP-28.0.1","OTP-28.0.2","OTP-28.0.3","OTP-28.0.4","OTP-28.1","OTP-28.1.1","OTP-28.2","OTP-28.3","OTP-28.3.1","OTP-28.3.2","OTP-28.3.3","OTP-28.4","OTP-29.0-rc1","patch-base-24","patch-base-25","patch-base-26","patch-base-27"],"database_specific":{"source":"https://cna.erlef.org/osv/EEF-CVE-2026-23943.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V4","score":"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"}],"credits":[{"name":"Igor Morgenstern / Aisle Research","type":"REPORTER"},{"name":"Michał Wąsowski","type":"REMEDIATION_DEVELOPER"},{"name":"Jakub Witczak","type":"REMEDIATION_REVIEWER"}]}