[Warning] Sicherheitslücke in der Java-Implementation des Elliptic Curve Digital Signature Algorithm (ECDSA)
Thomas Pribitzer
pribitzer at cert.at
Fri Apr 22 10:48:26 CEST 2022
22. April 2022
Beschreibung
Die Sicherheitslücke CVE-2022-21449 in der Java-Implementation des
Elliptic Curve Digital Signature Algorithm (ECDSA) erlaubt das
Erstellen von "leeren" digitalen Signaturen, die durch die
Schwachstelle fälschlicherweise als echt interpretiert werden.
CVE-Nummern: CVE-2022-21449
CVSS Base Score: 7.5 lt. Oracle, 10 lt. dem Entdecker des Bugs
Auswirkungen
Die Sicherheitslücke erlaubt es Angreifer:innen, beliebige Daten mit
einer leeren Signatur zu versehen und so die Signaturprüfung zu
umgehen. Die verwundbare Java-Applikation bestätigt die Echtheit
dieser Daten.
Die weiteren Auswirkungen davon sind schwer abschätzbar, da viele
Faktoren in die Bewertung konkreter Systeme einfließen. Wir empfehlen
eine Analyse basierend auf der folgenden Punkten, eine überhastete
Reaktion ist nicht angebracht.
- Server und Client-Zertifikate nach X.509 werden von Certification
Authorities (CA) signiert. Ist eine CA, die einen Elliptic Curve
Schlüssel verwendet, als vertrauenswürdig konfiguriert, so kann
man einer verwundbaren Java-Applikation beliebige Identitäten
vortäuschen.
- Daher kann die Überprüfung, ob ein Server-Zertifikat gültig ist,
auf einem verwundbaren Java-basierten Client ausgehebelt werden.
Damit sind Man-in-the-Middle Angriffe möglich.
- Das gleiche gilt für die Gegenrichtung: Eine Authentisierung
mittels TLS-Client-Zertifikat kann ebenfalls ausgehebelt werden,
wenn der Server verwundbar ist.
- Digitale Signaturen auf strukturierten Daten, wie etwa XML-DSIG für
XML, JOSE/JWS für JSON und COSE für CBOR, können auch ECDSA
verwenden. Damit ist die korrekte Verifikation dieser Signaturen
durch eine der betroffenen Java-Versionen nicht sichergestellt.
- Diese Techniken sind die kryptografische Basis diverser anderer
Protokolle, etwa:
* SAML 2.0 (Ein Protokoll für Web-basiertes Single-Sign-On) basiert
auf XML-DSIG
* Open ID Connect (OIDC) ist ein weiteres SSO-Protokoll, es basiert
auf JSON Web Tokens (JWT), die ihrerseits ein Spezialfall von
JOSE/JWS sind.
* WebAuthn (Ein Standard zur Identifikation von Usern im Web
mittels kryptografischer Token, etwa „FIDO Keys“) basiert auf
COSE.
* Signierte Strich- oder QR-Codes, wie diverse Online-Tickets, die
offline validiert werden, basieren auf COSE. Auch die
Verifikation von signierten Dokumenten könnte betroffen sein.
Betroffene Systeme
Systeme, auf denen folgende Software zur Verifikation von
ECDSA-basierten Zertifikaten/Signaturen eingesetzt wird:
- Oracle Java SE in den Versionen 7u331, 8u321, 11.0.14, 17.0.2 und
18 Oracle
- GraalVM Enterprise Edition in den Versionen 20.3.5, 21.3.1 und
22.0.0.2
- OpenJDK in den Versionen 15.0.6, 17.0.2 und 18
Abhilfe
Einspielen der zur Verfügung gestellten Patches. Da damit zu rechnen
ist, dass die Schwachstelle innerhalb kurzer Zeit ausgenützt werden
wird, sollte dies so schnell wie möglich geschehen. Hinweis
Generell empfiehlt CERT.at, sämtliche Software aktuell zu halten und
dabei insbesondere auf automatische Updates zu setzen. Regelmäßige
Neustarts stellen sicher, dass diese auch zeitnah aktiviert werden.
________________________________________________________________________
Informationsquelle(n):
CVE-2022-21449 (MITRE)
https://cve.mitre.org/cgi-bin/cvename.cgi?name=2022-21449
Golem.de-Artikel
https://www.golem.de/news/elliptische-kurven-java-signaturpruefung-laesst-sich-mit-nullen-austricksen-2204-164719.html
heise.de-Artikel
https://www.heise.de/news/Bug-in-Java-macht-digitale-Signaturen-wertlos-6847744.html
Blog des Entdeckers der Schwachstelle (englisch)
https://neilmadden.blog/2022/04/19/psychic-signatures-in-java/
Oracle Advisory (englisch)
https://www.oracle.com/security-alerts/cpuapr2022.html
OpenJDK Advisory (englisch)
https://openjdk.java.net/groups/vulnerability/advisories/2022-04-19
________________________________________________________________________
--
// Thomas Pribitzer <pribitzer at cert.at> - T: +43 1 5056416 78
// CERT Austria - https://www.cert.at/
// CERT.at GmbH, FB-Nr. 561772k, HG Wien
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://lists.cert.at/pipermail/warning/attachments/20220422/7f6dd2cd/attachment.sig>
More information about the Warning
mailing list