[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