gose: Unzureichende Integritätsprüfung bei der Verarbeitung von AES-CBC-HMAC-JWE
Zusammenfassung
Die Go-Bibliothek gose, die JOSE implementiert, berechnet den HMAC für AES-CBC-HMAC-JWEs fehlerhaft. HmacShaCryptor.Hash ignoriert seine Eingabe und liefert immer den MAC der leeren Nachricht unter dem Schlüssel zurück, sodass das Authentifizierungs-Tag pro Schlüssel konstant und unabhängig von der Nachricht ist. Ein Angreifer, der ein gültiges JWE gesehen hat, kann den Chiffretext ersetzen, und die Integritätsprüfung schlägt trotzdem nicht fehl, ohne dass er den Schlüssel kennen muss; Bit-Flipping- und Padding-Oracle-artige Angriffe werden dadurch möglich. Nur Anwendungen, die den direkten Verschlüsselungspfad AES-CBC-HMAC verwenden, sind betroffen; der AEAD/GCM-Pfad ist nicht betroffen.
Betroffen
- github.com/ThalesGroup/gose v0.9.0 bis v0.13.0-rc1
- Gemäss CNA-Eintrag: github.com/eclipse-keypont/gose vor v1.0.0-rc1 (das Hersteller-Advisory hält fest, dass unter diesem Modulpfad keine verwundbare Version existiert)
Behoben in
- Behoben in github.com/eclipse-keypont/gose v1.0.0-rc1 und neuer (Fix-Commit 97f9348)
- Auf github.com/ThalesGroup/gose existiert keine behobene Version; der Modulpfad muss geändert werden
Umgehung
- Innerhalb der betroffenen Versionen keine.
- NewJweDirectEncryptorBlock und NewJweDirectDecryptorBlock vermeiden und stattdessen NewJweDirectEncryptorAead und NewJweDirectDecryptorAeadImpl (AEAD/GCM) verwenden.
Ausnutzung
- Zum Zeitpunkt der Recherche sind keine Ausnutzungen in freier Wildbahn bekannt.
- Zum Zeitpunkt der Recherche ist kein öffentlicher Proof of Concept bekannt.
- EPSS 0.00174 zum Zeitpunkt der Recherche; der Status im CISA-KEV-Katalog wurde nicht geprüft.
Unsere Empfehlung
- Prüfen, ob Ihre Go-Software gose verwendet, insbesondere AES-CBC-HMAC-JWEs (NewJweDirectEncryptorBlock / NewJweDirectDecryptorBlock).
- Auf github.com/eclipse-keypont/gose v1.0.0-rc1 oder neuer migrieren und die Import-Pfade anpassen; go get -u allein behebt das Problem nicht.
- JWEs, die von betroffenen Versionen erstellt oder geprüft wurden, als nicht authentifiziert behandeln und die Daten mit der korrigierten Version neu verschlüsseln.
- Bis zur Korrektur die JWE-Integrität betroffener Komponenten nicht als gegeben betrachten und wo möglich zusätzliche, unabhängige Integritätsprüfungen einbauen.
Öffentliche Exploits
In PoC-in-GitHub, Metasploit und Exploit-DB ist für diese CVE nichts verzeichnet.
Quellen der Recherche
- GitHub Security Advisory GHSA-h6w5-722x-2h3m github.com
- gose pull request 28 (v1 migration, HMAC fix) github.com
- Go package documentation: github.com/eclipse-keypont/gose pkg.go.dev
- Go package documentation: github.com/ThalesGroup/gose pkg.go.dev
- NVD mirror: CVE-2026-89320 (Vulners) vulners.com
Recherchiert und auf Deutsch und Englisch aufbereitet von einer KI (Claude von Anthropic) auf Basis von NVD, CISA, EPSS und den genannten Quellen. Massgebend sind die Angaben des Herstellers. Recherche vom 31.10.2026 10:51.
Referenzen der NVD (1)
Quellen
Der Tracker verbindet offizielle, frei nutzbare Datenquellen – laufend aktualisiert:
- NVD (NIST) – CVE, Bewertung (CVSS), betroffene Produkte
- CISA KEV – von der CISA bestätigt aktiv ausgenutzte Lücken
- CISA Vulnrichment – Einschätzung der CISA (SSVC) im offiziellen CVE-Eintrag
- FIRST EPSS – Wahrscheinlichkeit einer Ausnutzung
- Microsoft MSRC – Patch Tuesday: Lücken, Schweregrad, Updates
- PoC-in-GitHub – öffentliche Proof-of-Concept-Repositories
- Metasploit (Rapid7) – Module des Metasploit Framework
- Exploit-DB (OffSec) – Archiv öffentlicher Exploits (nur Verweise)
- Patch-Tage: offizielle Seiten der Hersteller (je Hersteller verlinkt) (Patch-Tage der Hersteller)
Dieses Angebot nutzt Daten der NVD-API, ist aber von der NVD weder unterstützt noch zertifiziert. EPSS-Daten © FIRST.org.
Betroffen? Wir helfen.
Wir prüfen, ob Ihre Systeme betroffen sind, spielen Updates ein und schliessen die Lücke – auf Wunsch auch laufend mit dem System Health Checker.
