Wir machen IT Security verständlich

CERT.at-Warnung: Sicherheits­lücke in der Java-Implemen­tation des ECDSA

Viele Authentifizierungs-Protokolle basieren auf Techniken, die auf einem Java-basierten Client einen sogenannten Elliptic-Curve-Schlüssel verwenden. 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.

CERT.at-Warnung: Sicherheits­lücke in der Java-Implemen­tation des ECDSA

Die Sicherheitslücke CVE-2022-21449 in der Java-Implementation des Elliptic Curve Digital Signature Algorithm (ECDSA) 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 in Folge die Echtheit dieser Daten.

Die weiteren Auswirkungen davon sind schwer abschätzbar, da viele Faktoren in die Bewertung konkreter Systeme einfließen. Eine überhastete Reaktion ist nicht angebracht.

CERT.at empfiehlt eine Analyse basierend auf folgenden Punkten:

  • 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. Dadurch sind potenzielle 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, wie 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.

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.

Links zu weiteren Informationen:

Unser Angebot an Sie

Beratung

Sicherheit beginnt mit einem Gespräch.

Lösungen

Wir liefern bewährte Lösungen.

Service

Wir übernehmen Verantwortung.

Seminare

Wir machen IT Security verständlich.

Sicherheit beginnt mit einem Gespräch

Christian Singhuber