Eine kürzlich entdeckte Sicherheitslücke mit der Kennung CVE-2024-6197 betrifft die Curl- und Libcurl-Versionen 8.6.0 bis 8.8.0. Dabei handelt es sich um eine sogenannte Use-After-Free (UAF)-Schwachstelle, die sich jedoch nicht wie gewöhnlich auf dem Heap, sondern auf dem Stack manifestiert.
Aufgrund ihrer technischen Besonderheiten wurde sie mit einem CVSS-Schweregrad von 7,5 eingestuft. Doch eine eingehende Analyse des Security Research Teams von JFrog legt nahe, dass ein tatsächlicher Angriff in der Praxis äußerst unwahrscheinlich ist.
Technischer Hintergrund
Der Fehler tritt auf, wenn eine betroffene Curl-Version eine Verbindung zu einem kompromittierten TLS-Server herstellt, der ein speziell manipuliertes X.509-Zertifikat bereitstellt. Verantwortlich für die Schwachstelle ist ein Fehler in der Libcurl-Funktion „utf8asn1str“, die für die Verarbeitung von ASN.1-UTF-8-Zeichenfolgen in Zertifikaten zuständig ist. Unter bestimmten Bedingungen führt dies dazu, dass ein 4-Byte-Stack-Puffer irrtümlich freigegeben wird, wodurch das Use-After-Free-Szenario entsteht.
Allerdings enthalten die meisten modernen Linux-Distributionen, darunter Ubuntu, Debian und Red Hat, Schutzmechanismen, die im Fehlerfall zu einem Absturz führen. Dadurch wird verhindert, dass Angreifer den Fehler ausnutzen können, um bösartigen Code auszuführen.
Voraussetzungen für eine erfolgreiche Ausnutzung
Die Möglichkeit, CVE-2024-6197 gezielt anzugreifen, ist an eine Reihe spezifischer Bedingungen geknüpft:
- Manipulierter TLS-Server: Der Angreifer muss einen TLS-Server bereitstellen, der ein präpariertes X.509-Zertifikat mit einer untypischen Kodierung (UniversalString) ausliefert.
- Spezifische Curl-Konfiguration: Die Schwachstelle kann nur ausgenutzt werden, wenn Curl mit Unterstützung für bestimmte TLS-Backends (z. B. GnuTLS, wolfSSL, Schannel, Secure Transport oder mbedTLS) kompiliert wurde. Versionen, die OpenSSL nutzen, sind nicht betroffen.
- Verwendung von CURLINFO_CERTINFO: Die fehlerhafte Funktion wird nur aufgerufen, wenn CURLINFO_CERTINFO aktiviert ist oder entsprechende CLI-Flags genutzt werden, etwa „–write-out ‚%certs'“.
Risiko einer Remote-Code-Ausführung (RCE)
Obwohl die Schwachstelle theoretisch gravierend erscheint, ist eine Ausnutzung für Remote-Code-Ausführung (RCE) in realen Szenarien nahezu unmöglich. Dies liegt an mehreren Faktoren:
- Stack-Schutzmechanismen: Moderne Linux-Distributionen implementieren Sicherheitsmechanismen, die den Prozess sofort beenden, wenn ein Stack-Pointer fälschlicherweise freigegeben wird.
- Seltene Nutzung der betroffenen Kodierung: Die UniversalString-Kodierung ist veraltet und wird in X.509-Zertifikaten nur selten verwendet.
- Sicherheitsmaßnahmen in Distributionen: Selbst unter günstigen Bedingungen, beispielsweise in Alpine Linux 3.10, führte ein Versuch der Ausnutzung lediglich zu einem Prozessabsturz, ohne dass Angreifer die Kontrolle übernehmen konnten.
Auswirkungen und Schutzmaßnahmen
Die primäre Gefahr durch CVE-2024-6197 besteht in Denial-of-Service (DoS)-Angriffen, bei denen der Curl-Prozess durch die Schwachstelle zum Absturz gebracht werden kann. Für die Mehrheit der Nutzer, insbesondere in sicheren Linux-Umgebungen, sind jedoch kaum praktische Auswirkungen zu erwarten.
Um das Problem vollständig zu beheben, wird allen Anwendern dringend geraten, auf Curl 8.9.0 zu aktualisieren. Diese Version enthält einen Fix für die Schwachstelle. Viele Linux-Distributionen, darunter Debian, Ubuntu und Red Hat, haben bereits entsprechende Updates veröffentlicht. Nutzer sollten ihre Systeme überprüfen und gegebenenfalls Sicherheitsupdates einspielen.
Fazit
Obwohl CVE-2024-6197 mit einem CVSS-Score von 7,5 als potenziell schwerwiegend eingestuft wurde, zeigt sich in der Praxis ein deutlich geringeres Risiko. Die komplexen Voraussetzungen für eine erfolgreiche Ausnutzung sowie die implementierten Schutzmaßnahmen machen eine RCE nahezu unmöglich. Das Hauptproblem bleibt auf mögliche DoS-Angriffe beschränkt. Trotzdem sollten Nutzer nicht zögern, auf die neueste Curl-Version zu aktualisieren, um jegliche potenzielle Gefahren auszuschließen. Dieser Fall zeigt erneut, dass hohe CVSS-Scores nicht immer mit einer realen Bedrohungslage gleichzusetzen sind und eine kontextbasierte Sicherheitsbewertung entscheidend ist.