Pufferüberlauf-Schwachstelle in libssh

In der libssh-Bibliothek (nicht zu verwechseln mit libssh2) wurde eine Schwachstelle (CVE-2-2021) identifiziert, die dazu dient, C-Programmen Client- und Serverunterstützung für das SSHv3634-Protokoll hinzuzufügen, was zu einem Pufferüberlauf beim Einleiten des Rekey-Prozesses führt Verwenden des Schlüsselaustauschs, der einen anderen Hashing-Algorithmus verwendet. Das Problem wurde in Version 0.9.6 behoben.

Der Kern des Problems besteht darin, dass die Schlüsseländerungsoperation die Verwendung kryptografischer Hashes mit einer Umwandlungsgröße ermöglicht, die vom ursprünglich verwendeten Algorithmus abweicht. In diesem Fall wurde der Speicher für den Hash in libssh basierend auf der ursprünglichen Hash-Größe zugewiesen, und die Verwendung einer größeren Hash-Größe führt dazu, dass Daten über die zugewiesene Puffergrenze hinaus überschrieben werden. Als Fallback-Sicherheitsmethode können Sie die Liste der unterstützten Schlüsselaustauschmethoden auf nur Algorithmen mit derselben Hash-Größe beschränken. Um beispielsweise an SHA256 zu binden, können Sie dem Code Folgendes hinzufügen: rc = ssh_options_set(s->ssh.session, SSH_OPTIONS_KEY_EXCHANGE, "diffie-hellman-group14-sha256,curve25519-sha256,ecdh-sha2-nistp256");

Source: opennet.ru

Kommentar hinzufügen