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

Eine korrigierte Version der kryptografischen Bibliothek OpenSSL 3.0.7 wurde veröffentlicht, in der zwei Schwachstellen behoben wurden. Beide Probleme resultieren aus einem Pufferüberlauf im Code, der das E-Mail-Feld in X.509-Zertifikaten überprüft, und könnten potenziell zur Ausführung von Code beim Verarbeiten eines speziell gestalteten Zertifikats führen. Zum Zeitpunkt der Veröffentlichung des Fixes gab es von den Entwicklern von OpenSSL keine Berichte über einen funktionierenden Exploit, der zur Ausführung von Code durch den Angreifer führen könnte.

Obwohl in der frühzeitig veröffentlichten Ankündigung der neuen Version auf das Vorhandensein eines kritischen Problems hingewiesen wurde, wurde der Status der Schwachstelle in dem tatsächlich veröffentlichten Update auf gefährlich, aber nicht kritisch herabgestuft. Gemäß den zu diesem Projekt angenommenen Regeln wird die Gefährdungsstufe herabgestuft, wenn das Problem in untypischen Konfigurationen auftritt oder die Wahrscheinlichkeit eines praktischen Exploits der Schwachstelle gering ist.

In diesem Fall wurde die Gefährdung herabgestuft, da mehrere Organisationen bei einer detaillierten Analyse der Schwachstelle zu dem Schluss kamen, dass die Möglichkeit zur Ausführung von Code während eines Exploits durch die in vielen Plattformen verwendeten Schutzmechanismen gegen Pufferüberlauf blockiert wird. Darüber hinaus führt das in einigen Linux-Distributionen verwendete Layout dazu, dass die über die 4-Byte-Grenze hinausgehenden Daten auf einen folgenden Buffer im Stack verweisen, der noch nicht verwendet wird. Dennoch ist es nicht auszuschließen, dass es auch Plattformen gibt, auf denen ein Exploit zur Ausführung von Code möglich ist.

Festgestellte Probleme:

  • CVE-2022-3602 — eine ursprünglich als kritisch eingestufte Schwachstelle führt zu einem 4-Byte-Pufferüberlauf während der Überprüfung des E-Mail-Felds in einem X.509-Zertifikat mit einer speziell gestalteten E-Mail-Adresse. In einem TLS-Client kann die Schwachstelle beim Verbindungsaufbau zu zu einem Server, der unter der Kontrolle des Angreifers steht, ausgenutzt werden. Auf einem TLS-Server kann die Schwachstelle ausgenutzt werden, wenn die Authentifizierung der Clients über Zertifikate erfolgt. Dabei manifestiert sich die Schwachstelle in der Phase nach der Verifizierung der mit dem Zertifikat verbundenen Vertrauenskette, d.h. für den Angriff muss die Zertifizierungsstelle das Schadzertifikat des Angreifers beglaubigen.
  • CVE-2022-3786 — ein anderer Angriffsvektor der Schwachstelle CVE-2022-3602, entdeckt bei der Analyse des Problems. Die Unterschiede liegen in der Möglichkeit eines Buffer Overflows im Stack auf eine beliebige Anzahl von Bytes, die das Zeichen „.“ enthalten (d.h. der Angreifer kann den Inhalt der Überlaufzone nicht steuern und das Problem kann nur zum Absturz der Anwendung ausgenutzt werden).

Die Schwachstellen zeigen sich nur in der OpenSSL 3.0.x-Zweig (der Fehler trat im Code zur Konvertierung von Unicode (Punycode) auf, der im Zweig 3.0.x hinzugefügt wurde). Die Versionen OpenSSL 1.1.1 sowie die von OpenSSL abgeleiteten Bibliotheken LibreSSL und BoringSSL sind von dem Problem nicht betroffen. Gleichzeitig wurde ein Update für OpenSSL 1.1.1s veröffentlicht, das nur sicherheitsunabhängige Fehlerkorrekturen enthält.

Der OpenSSL 3.0-Zweig kommt in Distributionen wie Ubuntu 22.04, CentOS Stream 9, RHEL 9, OpenMandriva 4.2, Gentoo, Fedora 36, Debian Testing/Unstable zum Einsatz. Nutzern dieser Systeme wird empfohlen, so schnell wie möglich Updates 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, die Systempakete verwenden den 1.1.1-Zweig. Im OpenSSL 1.x-Zweig verbleiben Debian 11, Arch Linux, Void Linux, Ubuntu 20.04, Slackware, ALT Linux, RHEL 8, OpenWrt, Alpine Linux 3.16 und FreeBSD.

Quelle: opennet.ru

60GB SSD 8Gb DDR4