CVE-2021-4044
Ungültige Behandlung interner Fehler von X509_verify_cert() in libssl
- Veröffentlicht
- 14.12.2021
- Aktualisiert
- 17.09.2024
- CNA zuweisen
- openssl
- Beweise beobachtet
- 04.08.2026
Primäres CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HHoch · nächste 30 Tage
- Perzentil
- 98,9 %
- Modelldatum
- 21.09.2026
EPSS ist eine statistische Schätzung, keine Gewissheit oder ein Maß für die Auswirkung. Kombinieren Sie es mit CVSS, KEV-Status, Belichtung und Ihrer Umgebung.
Zusammenfassung
Intern intern ruft libssl in OpenSSL auf der Client-Seite `X509_verify_cert()` auf, um ein von einem Server geliefertes Zertifikat zu verifizieren. Diese Funktion kann einen negativen Rückgabewert liefern, um einen internen Fehler anzuzeigen (z. B. Speichermangel). Ein solcher negativer Rückgabewert wird von OpenSSL falsch behandelt und führt dazu, dass eine IO-Funktion (wie `SSL_connect()` oder `SSL_do_handshake()`) keinen Erfolg anzeigt und ein anschließender Aufruf von `SSL_get_error()` den Wert `SSL_ERROR_WANT_RETRY_VERIFY` zurückgibt. Dieser Rückgabewert soll von OpenSSL nur dann zurückgegeben werden, wenn die Anwendung zuvor `SSL_CTX_set_cert_verify_callback()` aufgerufen hat. Da die meisten Anwendungen dies nicht tun, ist der Rückgabewert `SSL_ERROR_WANT_RETRY_VERIFY` von `SSL_get_error()` völlig unerwartet, und Anwendungen können sich infolgedessen möglicherweise nicht korrekt verhalten. Das genaue Verhalten hängt von der Anwendung ab, kann aber zu Abstürzen, Endlosschleifen oder anderen ähnlichen falschen Reaktionen führen. Dieses Problem wird in Kombination mit einem separaten Fehler in OpenSSL 3.0 schwerwiegender, der dazu führt, dass `X509_verify_cert()` bei der Verarbeitung einer Zertifikatskette einen internen Fehler anzeigt. Dies tritt auf, wenn ein Zertifikat die Erweiterung Subject Alternative Name nicht enthält, aber eine Zertifizierungsstelle Namensbeschränkungen durchgesetzt hat. Dieses Problem kann auch bei gültigen Ketten auftreten. Durch die Kombination der beiden Probleme könnte ein Angreifer falsches, anwendungsabhängiges Verhalten hervorrufen. Behoben in OpenSSL 3.0.1 (Betroffen: 3.0.0).
Quellen
1- CVE-2021-4044Erkennung
Python-Skript zur Überprüfung der OpenSSL-Version auf die CVE-2021-4044-Schwachstelle und zum Testen von SSL/TLS-Verbindungen zu benutzerdefinierten Websites, mit Fehlerbehandlung und Berichterstattung.
Verantwortungsvoller Umgang
Verwenden Sie Schwachstelleninformationen nur auf Systemen, die Sie besitzen oder zu deren Testen Sie berechtigt sind. Kitploit verlinkt auf öffentliche Forschungsmetadaten und speichert keinen Exploit-Code oder bösartige Payloads.