Sicherheitslücken: OpenSSL-Update verursacht ABI-Probleme

OpenSSL veröffentlicht Updates für kleinere Sicherheitslücken - dabei ist den Entwicklern ein Fehler unterlaufen: Durch eine veränderte Datenstruktur ändert sich die Binärschnittstelle der Bibliothek, was zu Fehlfunktionen führen kann.

Artikel veröffentlicht am , Hanno Böck
Kleinere Sicherheitslücken in der Verschlüsselungsbibliothek OpenSSL und ein größeres Problem beim Update
Kleinere Sicherheitslücken in der Verschlüsselungsbibliothek OpenSSL und ein größeres Problem beim Update (Bild: martinak15 / Wikimedia Commons / CC by 2.0)

OpenSSL hat für mehrere Versionszweige seiner Software neue Versionen veröffentlicht. Die aktuellste Version ist nun 1.0.2b, auch für ältere Versionszweige wurden Updates herausgegeben. Das Security-Advisory listet sieben Sicherheitslücken, die mit diesem Update behoben worden sind. Kritische Lücken sind nicht darunter, am relevantesten ist ein Workaround für die Logjam-Lücke.

Geänderte Datenstruktur bricht ABI

Administratoren, die das Update besonders schnell eingespielt haben, bekommen möglicherweise Probleme. Wenige Stunden nach der Veröffentlichung meldete sich der Programmierer Dan McDonald auf der OpenSSL-Entwickler-Mailing-Liste und wies auf ein Problem hin: Die neuen Versionen ändern die Datenstruktur HMAC_CTX, die Teil der öffentlichen API von OpenSSL ist.

Eine solche veränderte Datenstruktur ist nichts Ungewöhnliches, allerdings führt man derartige Änderungen üblicherweise nur bei großen Versionssprüngen durch. Das Problem: Durch diese Änderung verändert sich die Binärschnittstelle der OpenSSL-Bibliothek, die sogenannte ABI.

Um Probleme mit ABI-Änderungen zu vermeiden, wird bei solchen großen Versionssprüngen üblicherweise die Versionsnummer im Dateinamen der Bibliothek geändert, aus libssl.so.1.0.0 könnte beispielsweise libssl.so.1.0.1 werden. In diesem Fall ist das aber nicht geschehen. Alle Programme, die eine Bibliothek verwenden, müssen bei einer ABI-Umstellung neu kompiliert werden.

ABI-Änderungen innerhalb eines Versionszweigs ein No-Go

Nutzt man ein Programm, das mit der alten ABI von OpenSSL kompiliert wurde, kann es mit der neuen Version zu Fehlfunktionen kommen. Probleme könnten etwa Nutzer von älteren OpenSSH-Versionen bekommen. OpenSSH 6.6 und neuer nutzen allerdings eine eigene HMAC-Implementierung, dadurch tauchen hier keine Probleme auf.

OpenSSL-Entwickler Matt Caswell schrieb, das Entwicklerteam berate gerade, wie sie mit der Sache umgingen. Eigentlich sind ABI-Änderungen innerhalb eines Versionszweiges laut Caswell ein No-Go. Absichtlich erfolgte die Änderung daher wohl nicht.

Logjam-Workaround und kleinere Sicherheitsfixes

Die Sicherheitsfixes in der neuen Version sind überwiegend unspektakulär. Die Logjam-Lücke im Diffie-Hellman-Schlüsselaustausch ist ein Protokollproblem und kein Fehler von OpenSSL, aber um Probleme zu vermeiden, wurde in OpenSSL eine Mindestgröße für den sogenannten Modulus von Diffie Hellman eingeführt. Dieser muss jetzt mindestens 768 Bit groß sein, später soll dieses Minimum auf 1024 Bit angehoben werden.

Weiterhin wurde eine Endlosschleife in der Verarbeitung der Parameter von elliptischen Kurven gefunden. Ein Angreifer kann damit die Systemauslastung eines Servers oder Clients in die Höhe treiben. Ein ungültiger Speicher-Lesezugriff in der Funktion X509_cmp_time wurde unabhängig voneinander von Google-Mitarbeiter Robert Swiecki und vom Autor dieses Artikels entdeckt.

Die Google-Mitarbeiterin Emilia Käsper fand eine Race-Condition im Code zur Verwaltung von TLS-Session-Tickets, die zu einem Double-Free-Fehler führen kann. Daneben fanden sich noch eine Reihe von sicherheitskritischen Fehlern in seltener genutzten Protokollen wie DTLS, CMS und PKCS #7.

Nachtrag vom 12. Juni 2015, 17:59 Uhr

Inzwischen hat OpenSSL die Versionen 1.0.2c und 1.0.1o veröffentlicht, die Änderung der ABI wird darin wieder rückgängig gemacht. Nutzer sollten bevorzugt auf diese Versionen aktualisieren.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Lego-kompatibel
Klemmbaustein mit Display zeigt künstlichen Horizont

Der kleine, Lego-kompatible Klemmbaustein hat ein kleines Display eingebaut, auf dem ein funktionierender künstlicher Horizont läuft.

Lego-kompatibel: Klemmbaustein mit Display zeigt künstlichen Horizont
Artikel
  1. E-Fuels: Kommt die elektronische Betankungsüberwachung?
    E-Fuels
    Kommt die elektronische Betankungsüberwachung?

    Offenbar will die EU-Kommission der FDP in Sachen E-Fuels entgegenkommen. Künftig könnten Autos bei falsch getanktem Sprit stehenbleiben.

  2. Offener Brief an Sundar Pichai: Alphabet-Angestellte bitten ihren Chef, nichts Böses zu tun
    Offener Brief an Sundar Pichai
    Alphabet-Angestellte bitten ihren Chef, nichts Böses zu tun

    "Don't Be Evil" war lange das Motto von Google. Mit diesen Worten endet auch ein offener Brief von Angestellten an ihren CEO Sundar Pichai.

  3. Gegen Handelsblockade: Neue Freiheit für Chinas Halbleiterbranche
    Gegen Handelsblockade
    Neue Freiheit für Chinas Halbleiterbranche

    China fehlt der Chip-Nachschub aus Taiwan, mit mehr Freiheit für heimische Hersteller will die Regierung gegensteuern. Ein Manager hat seine Freiheit aber offenbar verloren.
    Eine Analyse von Johannes Hiltscher

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • NBB Black Weeks: Rabatte bis 60% • PS5 + Resident Evil 4 Remake 569€ • LG OLED TV -57% • WD SSD 2TB (PS5) 167,90€ • MindStar: Ryzen 9 7900X3D 625€ • Amazon Coupon-Party • Gainward RTX 3090 1.206€ • Samsung ext. SSD 2TB 159,90€ • Neue RAM-Tiefstpreise • Bosch Professional [Werbung]
    •  /