Eine Schwachstelle in OpenSSH-Paketen der RHEL 9, die Remote-Codeausführung ermöglicht.

Im Prozess der Untersuchung der letzte Woche entdeckten kritischen Sicherheitsanfälligkeit in OpenSSH wurde eine weitere ähnliche Sicherheitsanfälligkeit (CVE-2024-6409) entdeckt, die eine Ausführung von Code aus der Ferne ohne Authentifizierung ermöglicht. Die neue Sicherheitsanfälligkeit ist nicht so gefährlich wie die vorherige, da sie nach dem Heruntersetzen der Berechtigungen in einem vom SSH-Server gestarteten Kindprozess auftritt. Die Sicherheitsanfälligkeit ist in den openssh-Paketen des Red Hat Enterprise Linux 9-Distributions vorhanden, die auf der im Jahr 2021 veröffentlichten Version OpenSSH 8.7 basieren. Das Problem betrifft auch die Pakete für Fedora Linux 36 und 37, die auf den Versionen OpenSSH 8.7 und 8.8 basieren.

Im Wesentlichen ist die Sicherheitsanfälligkeit ähnlich dem vorherigen Problem und wird ebenfalls durch einen Rennzustand im SIGALRM-Interrupt-Handler verursacht, der durch die Ausführung von Funktionen ausgelöst wird, die nicht für den asynchronen Aufruf aus dem Signal-Handler ausgelegt sind. Der Handler wird beim Auftreten eines Timeouts aktiviert, das durch den Parameter LoginGraceTime festgelegt wird, und unterbricht die aktuelle Ausführung des Codes. Die Verwendung nicht für die asynchrone Ausführung vorgesehener Funktionen im Interrupt-Handler, bei denen dynamische Speicherzuweisung stattfinden, wie etwa syslog(), kann zur Beschädigung interner malloc-Strukturen führen, wenn SIGALRM während der Ausführung eines bestimmten Codes ausgelöst wird.

Die neue Sicherheitsanfälligkeit unterscheidet sich darin, dass der Rennzustand durch den Aufruf der Funktion cleanup_exit() im Signal-Handler grace_alarm_handler() entsteht. In dem Hauptcode von OpenSSH kann diese Funktion im asynchron ausgeführten Code verwendet werden, aber in den Paketen für RHEL 9 und Fedora wurde ein zusätzlicher Patch angewendet, der im cleanup_exit() einen Aufruf einer Funktion zur Generierung von Audit-Ereignissen hinzugefügt hat, die für die Verwendung in Signal-Handlern ausgelegt ist.

Dieser Patch wurde in RHEL 9 und abgeleiteten Distributionen in Paketen verwendet, die auf OpenSSH 8.7p1 basieren. In den aktuellen Versionen von Fedora tritt das Problem nicht auf, da die Distribution ab Fedora 38 auf eine neuere Version von OpenSSH umgestiegen ist, ohne cleanup_exit() zu ändern. Im Gegensatz zur vorherigen Sicherheitsanfälligkeit ist ein Workaround zum Blockieren des neuen Problems, der auf der Verwendung der Option „-e“ in sshd basiert, die die Protokollausgabe über syslog deaktiviert, nicht geeignet. Um die Sicherheitsanfälligkeit in sshd_config zu blockieren, kann der Parameter „LoginGraceTime=0“ gesetzt werden.

Quelle: opennet.ru

60GB SSD 8Gb DDR4