CVE-2023-48223
fast-jwt JWT-Algorithmus-Verwechslung
- Veröffentlicht
- 20.11.2023
- Aktualisiert
- 02.08.2024
- CNA zuweisen
- GitHub_M
- Beweise beobachtet
- 08.08.2026
Primäres CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:NNiedrig · nächste 30 Tage
- Perzentil
- 50,6 %
- 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
# fast-jwt – Schwachstellen-Zusammenfassung fast-jwt bietet eine schnelle Implementierung von JSON Web Tokens (JWT). Vor Version 3.3.2 verhindert die fast-jwt-Bibliothek eine JWT-Algorithmus-Verwechslung für alle öffentlichen Schlüsseltypen nicht ordnungsgemäß. Der `publicKeyPemMatcher` in `fast-jwt/src/crypto.js` gleicht nicht alle gängigen PEM-Formate für öffentliche Schlüssel korrekt ab. Um diese Schwachstelle auszunutzen, muss ein Angreifer ein bösartiges JWT-Token erstellen, das den HS256-Algorithmus enthält und mit dem öffentlichen RSA-Schlüssel der Zielanwendung signiert ist. Dieser Angriff funktioniert nur, wenn die Zielanwendung einen öffentlichen Schlüssel mit dem Header `BEGIN RSA PUBLIC KEY` verwendet. Anwendungen, die den RS256-Algorithmus verwenden, einen öffentlichen Schlüssel mit einem `BEGIN RSA PUBLIC KEY`-Header besitzen und die verify-Funktion aufrufen, ohne explizit einen Algorithmus anzugeben, sind anfällig für diesen Algorithmus-Verwechslungsangriff, der es Angreifern ermöglicht, beliebige Nutzlasten zu signieren, die vom Verifizierer akzeptiert werden. Version 3.3.2 enthält einen Patch für dieses Problem. Als Workaround ändern Sie Zeile 29 von `blob/master/src/crypto.js`, um einen regulären Ausdruck einzufügen.
Quellen
1Proof-of-concept, der JWT-Algorithmus-Verwirrung in der fast-jwt-Bibliothek demonstriert. Enthält einen verwundbaren Server, ein Skript zum Fälschen von Tokens und eine Korrektur der Verifikation für die Sicherheitsschulung.
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.