Pufferüberlauf in OpenSSL wird bei der Überprüfung von X.509-Zertifikaten ausgenutzt

Es wurde eine Korrekturversion der OpenSSL-Kryptografiebibliothek 3.0.7 veröffentlicht, die zwei Schwachstellen behebt. Beide Probleme werden durch Pufferüberläufe im E-Mail-Feldvalidierungscode in X.509-Zertifikaten verursacht und können möglicherweise zur Codeausführung führen, wenn ein speziell gerahmtes Zertifikat verarbeitet wird. Zum Zeitpunkt der Veröffentlichung des Fixes hatten die OpenSSL-Entwickler keine Hinweise auf das Vorhandensein eines funktionierenden Exploits, der zur Ausführung des Codes des Angreifers führen könnte.

Trotz der Tatsache, dass in der Vorab-Ankündigung der neuen Version das Vorliegen eines kritischen Problems erwähnt wurde, wurde der Status der Schwachstelle im veröffentlichten Update tatsächlich auf das Niveau einer gefährlichen, aber nicht kritischen Schwachstelle reduziert. Gemäß den im Projekt verabschiedeten Regeln wird das Gefährdungsniveau reduziert, wenn sich das Problem in atypischen Konfigurationen manifestiert oder wenn in der Praxis eine geringe Wahrscheinlichkeit einer Ausnutzung der Schwachstelle besteht.

In diesem Fall wurde der Schweregrad reduziert, da eine detaillierte Analyse der Schwachstelle durch mehrere Organisationen zu dem Schluss kam, dass die Fähigkeit, Code während der Ausnutzung auszuführen, durch die auf vielen Plattformen verwendeten Stack-Overflow-Schutzmechanismen blockiert wurde. Darüber hinaus führt das in einigen Linux-Distributionen verwendete Rasterlayout dazu, dass die 4 Bytes, die außerhalb der Grenzen liegen, dem nächsten Puffer auf dem Stapel überlagert werden, der noch nicht verwendet wird. Es ist jedoch möglich, dass es Plattformen gibt, die zur Ausführung von Code ausgenutzt werden können.

Identifizierte Probleme:

  • CVE-2022-3602 – eine zunächst als kritisch dargestellte Schwachstelle, die zu einem 4-Byte-Pufferüberlauf führt, wenn ein Feld mit einer speziell dafür vorgesehenen E-Mail-Adresse in einem X.509-Zertifikat überprüft wird. In einem TLS-Client kann die Schwachstelle ausgenutzt werden, wenn eine Verbindung zu einem vom Angreifer kontrollierten Server hergestellt wird. Auf einem TLS-Server kann die Schwachstelle ausgenutzt werden, wenn eine Client-Authentifizierung mittels Zertifikaten verwendet wird. In diesem Fall tritt die Schwachstelle in der Phase nach der Überprüfung der mit dem Zertifikat verbundenen Vertrauenskette auf, d. h. Der Angriff erfordert, dass die Zertifizierungsstelle das bösartige Zertifikat des Angreifers überprüft.
  • CVE-2022-3786 ist ein weiterer Vektor zur Ausnutzung der Schwachstelle CVE-2022-3602, die bei der Analyse des Problems identifiziert wurde. Die Unterschiede beschränken sich auf die Möglichkeit, dass ein Puffer auf dem Stapel um eine beliebige Anzahl von Bytes, die das „.“ enthalten, überläuft. (d. h. der Angreifer kann den Inhalt des Überlaufs nicht kontrollieren und das Problem kann nur dazu genutzt werden, die Anwendung zum Absturz zu bringen).

Die Schwachstellen treten nur im OpenSSL 3.0.x-Zweig auf (der Fehler wurde im Unicode-Konvertierungscode (Punycode) eingeführt, der dem 3.0.x-Zweig hinzugefügt wurde). Versionen von OpenSSL 1.1.1 sowie die OpenSSL-Fork-Bibliotheken LibreSSL und BoringSSL sind von dem Problem nicht betroffen. Gleichzeitig wurde das OpenSSL 1.1.1s-Update veröffentlicht, das ausschließlich nicht sicherheitsrelevante Fehlerbehebungen enthält.

Der OpenSSL 3.0-Zweig wird in Distributionen wie Ubuntu 22.04, CentOS Stream 9, RHEL 9, OpenMandriva 4.2, Gentoo, Fedora 36, ​​​​Debian Testing/Unstable verwendet. Benutzern dieser Systeme wird empfohlen, Updates so schnell wie möglich zu installieren (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch). In SUSE Linux Enterprise 15 SP4 und openSUSE Leap 15.4 sind Pakete mit OpenSSL 3.0 optional verfügbar, Systempakete nutzen den 1.1.1-Zweig. Debian 1, Arch Linux, Void Linux, Ubuntu 11, Slackware, ALT Linux, RHEL 20.04, OpenWrt, Alpine Linux 8 und FreeBSD bleiben auf den OpenSSL 3.16.x-Zweigen.

Source: opennet.ru

Kommentar hinzufügen