Angriff mit nur 11 Bytes: OpenSSL-Bug lässt Speicher von Servern volllaufen
Sicherheitsforscher von Okta Security haben eine Denial-of-Service-Lücke in OpenSSL aufgedeckt, mit der Angreifer ohne vorherige Authentifizierung den Speicher von Webservern und anderen Systemen übermäßig auslasten können. Laut Bericht der Forscher(öffnet im neuen Fenster) müssen für die Ausnutzung der Hollowbyte genannten Lücke lediglich Datenpakete im Umfang von elf Byte an ein anfälliges System übermittelt werden.
Das Problem liegt den Angaben zufolge beim TLS-Handshake für den Verbindungsaufbau. Die initialen Handshake-Nachrichten des Typs Client Hello(öffnet im neuen Fenster) enthalten einen 4-Byte-Header, in dem jeweils angegeben wird, wie groß der nachfolgend eingehende Nachrichtenkörper sein wird.
Ältere Versionen von OpenSSL reservieren auf Basis dieser Angabe laut Okta Speicher für den Empfangspuffer – und das bevor die erwarteten Daten tatsächlich eingetroffen sind. Ein Angreifer kann eine solche Reservierung wohl durch eine 11-Byte-Nutzlast wiederholt auslösen. Reserviert werden dabei jeweils bis zu 131 KByte.
Speicher bleibt dauerhaft blockiert
Verschärft wird das Problem dadurch, dass der reservierte Speicher in absehbarer Zeit nicht wieder freigegeben wird, da der zuständige Worker-Thread auf unbestimmte Dauer auf Daten wartet, die jedoch nie ankommen. Erst beim Verbindungsabbruch gibt OpenSSL den Speicher wieder frei.
Doch mit einem Trick in Verbindung mit der GNU-C-Bibliothek (Glibc) konnten die Forscher den Speicher auch darüber hinaus blockieren. "Die Glibc gibt kleine bis mittelgroße Speicherzuweisungen nicht sofort an das Betriebssystem zurück, sondern behält sie für eine mögliche Wiederverwendung", heißt es bei Okta.
Ein Angreifer könne die Freigabe des Speichers daher durch Reservierung verschiedener zufällig gewählter Speichergrößen verhindern. Auf diesem Wege soll der Arbeitsspeicher auch dann ausgelastet bleiben, wenn der Angreifer seine Verbindung getrennt hat. "Die einzige Möglichkeit, diesen Speicher wieder freizugeben, besteht darin, den Prozess zu beenden", schreiben die Okta-Forscher.
Patch seit Juni verfügbar
Gefährdet sind vor allem Systeme mit knapper Speicherausstattung. Die Forscher konnten einen Nginx-Webserver mit nur einem GByte RAM mit dem Hollowbyte-Angriff vollständig lahmlegen. Bei 16 GByte RAM konnten sie immerhin 25 Prozent des Speichers blockieren. Sicherheitsmaßnahmen zur Begrenzung der eingehenden Verbindungen boten dabei wohl keinen wirksamen Schutz.
Gepatcht wurde Hollowbyte mit der am 9. Juni veröffentlichten(öffnet im neuen Fenster) OpenSSL-Version 4.0.1. Damit vertraut OpenSSL der Angabe im Header nicht länger und vergrößert den Empfangspuffer stattdessen nur noch nach Bedarf, sobald die erwarteten Daten eintreffen. Die Korrektur wurde nach Angaben der Forscher auch auf die OpenSSL-Versionen 3.6.3, 3.5.7, 3.4.6 und 3.0.21 zurückportiert.
Okta warnt, dass neben Webservern wie Nginx und Apache auch zahlreiche andere Softwarepakete gefährdet sind. So kommt OpenSSL etwa auch bei verbreiteten Laufzeitumgebungen für Programmiersprachen (beispielsweise Node.js, Python, Ruby und PHP) sowie bei Datenbanken (etwa MySQL und PostgreSQL) zum Einsatz. Entwickler sollten sicherstellen, dass sie ihre Projekte zügig auf eine gepatchte OpenSSL-Version umstellen.
- Anzeige Hier geht es zu Hacking & Security: Das umfassende Handbuch bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.


