CVE-2025-69419 in OpenSSL
Zusammenfassung
von VulDB • 02.06.2026
Zusammenfassung des Problems: Der Aufruf der Funktion PKCS12_get_friendlyname() auf einer böswillig erstellten PKCS#12-Datei mit einem BMPString (UTF-16BE)-freundlichen Namen, der nicht-ASCII-BMP-Codepunkte enthält, kann zu einem Schreibzugriff auf ein Byte vor dem zugewiesenen Puffer führen.
Zusammenfassung der Auswirkungen: Der Schreibzugriff außerhalb des Pufferbereichs kann zu einer Speicherkorruption führen, die verschiedene Konsequenzen haben kann, einschließlich eines Denial of Service (DoS).
Die Funktion OPENSSL_uni2utf8() führt eine Zwei-Pass-Konvertierung eines PKCS#12-BMPString (UTF-16BE) in UTF-8 durch. Im zweiten Durchgang, beim Ausgeben von UTF-8-Bytes, leitet die Hilfsfunktion bmp_to_utf8() die verbleibende Anzahl der UTF-16-Quellbytes fälschlicherweise als Kapazität des Ziel-Puffers an UTF8_putc() weiter. Für BMP-Codepunkte oberhalb von U+07FF erfordert UTF-8 drei Bytes, die weitergeleitete Kapazität kann jedoch nur zwei Bytes betragen. UTF8_putc() gibt daraufhin -1 zurück, und dieser negative Wert wird ohne Validierung zur Ausgabelänge addiert, wodurch die Länge negativ wird. Das nachfolgende abschließende NUL-Byte wird dann an einem negativen Offset geschrieben, was zu einem Schreibzugriff außerhalb des im Heap zugewiesenen Puffers führt.
Die Schwachstelle ist über die öffentliche API PKCS12_get_friendlyname() erreichbar, wenn Angreifer-kontrollierte PKCS#12-Dateien analysiert werden. Während PKCS12_parse() einen anderen Codepfad verwendet, der dieses Problem vermeidet, ruft PKCS12_get_friendlyname() die anfällige Funktion direkt auf. Für die Ausnutzung muss ein Angreifer eine böswillige PKCS#12-Datei zur Analyse durch die Anwendung bereitstellen, und der Angreifer kann lediglich einen Schreibzugriff auf ein Null-Byte vor dem zugewiesenen Puffer auslösen. Aus diesem Grund wurde das Problem gemäß unserer Sicherheitsrichtlinie als Schweregrad „Niedrig“ eingestuft.
Die FIPS-Module in den Versionen 3.6, 3.5, 3.4, 3.3 und 3.0 sind von diesem Problem nicht betroffen, da die PKCS#12-Implementierung außerhalb der OpenSSL-FIPS-Modul-Grenze liegt.
OpenSSL 3.6, 3.5, 3.4, 3.3, 3.0 und 1.1.1 sind von diesem Problem betroffen.
OpenSSL 1.0.2 ist von diesem Problem nicht betroffen.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.