Eine Schwachstelle in OpenSSH ermöglicht die AusfĂŒhrung von Code mit Root-Rechten auf Servern mit Glibc.

Das Unternehmen Qualys hat eine kritische SicherheitsanfĂ€lligkeit (CVE-2024-6387) in OpenSSH aufgedeckt, die eine Remote-CodeausfĂŒhrung mit Root-Rechten ohne Authentifizierung ermöglicht. Die Schwachstelle, die den Codenamen regreSSHion trĂ€gt, tritt in der Standardkonfiguration ab Version OpenSSH 8.5 auf Systemen mit der Standardbibliothek Glibc auf.

Die Möglichkeit, einen Angriff durchzufĂŒhren, wurde auf einem 32-Bit-System mit Glibc und aktivem ASLR-Schutz (Address Space Layout Randomization) demonstriert. FĂŒr einen erfolgreichen Angriff im Laborumfeld waren 6-8 Stunden erforderlich, in denen Server stĂ€ndig Verbindungen mit der maximal zulĂ€ssigen IntensitĂ€t gemĂ€ĂŸ der sshd-Konfiguration hergestellt wurden. Die DurchfĂŒhrung eines Angriffs wird auf Systemen ohne ASLR oder in Distributionen, die eine modifizierte Version von OpenSSH verwenden, bei der die erneute ASLR-Randomisierung fĂŒr jede Verbindung deaktiviert ist, erleichtert und benötigt weniger Zeit. Ein funktionierender Exploit-Prototyp wird nicht öffentlich veröffentlicht, bis die Schwachstelle umfassend beseitigt wurde, jedoch ist eine ausreichend detaillierte Beschreibung der Schwachstelle verfĂŒgbar, die das Auftauchen von Drittanbieter-Exploits nur noch eine Frage der Zeit ist.

Ein Angriff auf 64-Bit-Systeme ist ebenfalls möglich, aber ein funktionierender Exploit fĂŒr solche Systeme steht derzeit noch nicht zur VerfĂŒgung. Es wird angenommen, dass die DurchfĂŒhrung eines Angriffs auf 64-Bit-Systeme wesentlich mehr Zeit in Anspruch nehmen wird, aber nicht lĂ€nger als eine Woche. OpenSSH in OpenBSD ist nicht betroffen, da in diesem System seit 2001 ein Schutzmechanismus eingesetzt wird, der solche Angriffe blockiert. In anderen Systemen, die auf anderen Standardbibliotheken als Glibc basieren, könnte die Methode theoretisch angepasst werden, um einen Angriff durchzufĂŒhren (dieses Thema wurde bei Qualys bisher nicht untersucht).

Die Schwachstelle wurde in der heute veröffentlichten Version OpenSSH 9.8 (Patch) behoben. Updates fĂŒr Pakete in Distributionen können auf folgenden Seiten nachverfolgt werden: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, ROSA, Gentoo, ALT Linux, Arch und FreeBSD. Als Umgehungslösung zur Blockierung der Schwachstelle kann in der sshd_config der Parameter „LoginGraceTime=0“ gesetzt werden, wobei die Deaktivierung des Timeouts die Initiierung von Denial-of-Service-Angriffen bei einer großen Anzahl von Verbindungen, die die durch den Parameter MaxStartups festgelegten Grenzen ĂŒberschreiten, erleichtert.
Ein Anzeichen fĂŒr den Versuch eines Angriffs ist das Auftreten einer großen Anzahl von EintrĂ€gen "Timeout vor der Authentifizierung" im Protokoll.

Die Schwachstelle entstand durch eine regressiven Änderung, die in die Version OpenSSH 8.5 aufgenommen wurde und zu einem Race Condition im Code der Signalverarbeitung in sshd fĂŒhrt. Die Regression fĂŒhrte dazu, dass der Schutz gegen die alte Schwachstelle CVE-2006-5051, die bis zur Version OpenSSH 4.4 (2006) auftrat und theoretischer Natur war, nicht mehr wirksam war.
Im Verlauf der Entwicklung von OpenSSH 8.5 wurde versehentlich der Block "#ifdef DO_LOG_SAFE_IN_SIGHAND" aus der Funktion sigdie() entfernt, die direkt vom SIGALRM-Handler aufgerufen wird.

Der SIGALRM-Handler wird im sshd asynchron aufgerufen, wenn der Client die Authentifizierung innerhalb der durch den VerbindungszeitĂŒberschreitung (LoginGraceTime, standardmĂ€ĂŸig 120 Sek.) festgelegten Zeit nicht durchgefĂŒhrt hat. Der Angriff basiert darauf, dass der Signalhandler Funktionen aufruft, die bei der asynchronen Signalverarbeitung unsicher sind, wie syslog(). Die Funktion syslog() in Glibc ist nicht fĂŒr die Verwendung in asynchron ausgefĂŒhrten Signalhandlern vorgesehen, da sie Funktionen wie malloc() und free() aufruft. Das Auslösen des SIGALRM-Signals, das die AusfĂŒhrung bestimmter Codes in sshd unterbricht, kann zu einer BeeintrĂ€chtigung des AusfĂŒhrungszustands fĂŒhren, und das Ziel des Exploits besteht darin, Bedingungen zu schaffen, um den gewĂŒnschten Code zum richtigen Zeitpunkt seiner AusfĂŒhrung zu unterbrechen. Die Schwachstelle betrifft OpenBSD nicht, da anstelle von syslog() aus dem SIGALRM-Signalhandler die Funktion syslog_r() aufgerufen wird, die speziell fĂŒr den asynchronen Betrieb entwickelt wurde.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster