{"document":{"category":"csaf_vex","csaf_version":"2.0","title":"CVE-2026-55199: libssh2 - Pre-Authentication DoS via SSH_MSG_EXT_INFO Handler","publisher":{"category":"vendor","name":"HarborGuard Database","namespace":"https://database.harborguard.co"},"tracking":{"id":"CVE-2026-55199","status":"final","version":"1","initial_release_date":"2026-06-17T18:44:18.048Z","current_release_date":"2026-06-17T18:44:18.048Z","revision_history":[{"date":"2026-06-17T18:44:18.048Z","number":"1","summary":"Initial machine-readable export from HarborGuard."}]},"distribution":{"tlp":{"label":"WHITE"},"text":"Public CVE data; freely redistributable."},"notes":[{"category":"description","text":"libssh2 through 1.11.1, fixed in commit 1762685, contains a pre-authentication denial of service vulnerability in the SSH_MSG_EXT_INFO handler in src/packet.c that allows a malicious SSH server to cause a client CPU exhaustion loop by sending a crafted extension count value. A malicious server can set nr_extensions to 0xFFFFFFFF during key exchange, causing the client to spin in a tight CPU loop for over 60 seconds because return values from _libssh2_get_string() are unchecked and the session timeout does not apply to CPU-bound loops.","title":"CVE description"}],"references":[{"category":"self","summary":"CVE-2026-55199 on HarborGuard Database","url":"https://database.harborguard.co/cve/CVE-2026-55199"},{"category":"external","summary":"CVE Record","url":"https://www.cve.org/CVERecord?id=CVE-2026-55199"},{"category":"external","summary":"Pull Request","url":"https://github.com/libssh2/libssh2/pull/1864"},{"category":"external","summary":"Patch Commit","url":"https://github.com/libssh2/libssh2/commit/17626857d20b3c9a1addfa45979dadcee1cd84a4"},{"category":"external","summary":"vulncheck.com","url":"https://www.vulncheck.com/advisories/libssh2-pre-authentication-dos-via-ssh-msg-ext-info-handler"}]},"product_tree":{"branches":[{"category":"vendor","name":"libssh2","branches":[{"category":"product_name","name":"libssh2","branches":[{"category":"product_version_range","name":"<=1.11.1","product":{"name":"libssh2 libssh2 <=1.11.1","product_id":"CSAFPID-1","product_identification_helper":{"cpe":"cpe:2.3:a:libssh2:libssh2:*:*:*:*:*:*:*:*"}}},{"category":"product_version","name":"17626857d20b3c9a1addfa45979dadcee1cd84a4","product":{"name":"libssh2 libssh2 17626857d20b3c9a1addfa45979dadcee1cd84a4","product_id":"CSAFPID-2","product_identification_helper":{"cpe":"cpe:2.3:a:libssh2:libssh2:*:*:*:*:*:*:*:*"}}}]}]}]},"vulnerabilities":[{"cve":"CVE-2026-55199","title":"libssh2 - Pre-Authentication DoS via SSH_MSG_EXT_INFO Handler","notes":[{"category":"description","text":"libssh2 through 1.11.1, fixed in commit 1762685, contains a pre-authentication denial of service vulnerability in the SSH_MSG_EXT_INFO handler in src/packet.c that allows a malicious SSH server to cause a client CPU exhaustion loop by sending a crafted extension count value. A malicious server can set nr_extensions to 0xFFFFFFFF during key exchange, causing the client to spin in a tight CPU loop for over 60 seconds because return values from _libssh2_get_string() are unchecked and the session timeout does not apply to CPU-bound loops.","title":"CVE description"}],"product_status":{"known_affected":["CSAFPID-1"],"fixed":["CSAFPID-2"]},"scores":[{"cvss_v4":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","baseScore":8.2,"baseSeverity":"HIGH"},"products":["CSAFPID-1"]}],"remediations":[{"category":"vendor_fix","details":"Update to a fixed version: 17626857d20b3c9a1addfa45979dadcee1cd84a4.","product_ids":["CSAFPID-1"],"url":"https://github.com/libssh2/libssh2/commit/17626857d20b3c9a1addfa45979dadcee1cd84a4"}]}]}