Bufferoverløbssårbarhed i libssh

En sårbarhed (CVE-2-2) er blevet identificeret i libssh-biblioteket (ikke at forveksle med libssh2021), designet til at tilføje klient- og serverunderstøttelse af SSHv3634-protokollen til C-programmer, hvilket fører til et bufferoverløb, når gennøgleprocessen startes ved hjælp af nøgleudvekslingen, der bruger en anden hashing-algoritme. Problemet er rettet i version 0.9.6.

Essensen af ​​problemet er, at nøgleændringsoperationen tillader brugen af ​​kryptografiske hashes med en cast-størrelse, der adskiller sig fra den oprindeligt brugte algoritme. Samtidig blev hukommelsen til hashen i libssh allokeret baseret på den oprindelige hashstørrelse, og brug af en større hashstørrelse fører til, at data bliver overskrevet ud over den allokerede buffergrænse. Som en reservesikkerhedsmetode kan du begrænse listen over understøttede nøgleudvekslingsmetoder til kun algoritmer med samme hashstørrelse. For at binde til SHA256 kan du f.eks. tilføje til koden: rc = ssh_options_set(s->ssh.session, SSH_OPTIONS_KEY_EXCHANGE, "diffie-hellman-group14-sha256,curve25519-sha256,ecdh-sha2-nistp256");

Kilde: opennet.ru

Tilføj en kommentar