
Disclosure-Paket und Python-PoC für CVE-2026-5430, eine JWT-Algorithmus-Verwechslungsschwachstelle in WSO2 API Manager 4.5.0, die eine unauthentifizierte Übernahme des Admin-Kontos ermöglicht.
abraxaslabs.tech · github.com/abraxas · @abraxas_null · CVE-2026-5430
WSO2 API Manager 4.5.0 — WSO2
Der JWT-Authentifizierungsmechanismus akzeptiert Token, die mit anderen Algorithmen signiert wurden als den explizit konfigurierten oder unterstützten. Dadurch kann ein Angreifer ein JWT mit einem nicht unterstützten Algorithmus erstellen, das dann fälschlicherweise validiert wird, was zu unbefugtem Zugriff führt.
| CVE | CVE-2026-5430 · CVE.org |
| CWE | CWE-347 |
| CVSS | Kritisch: 10.0 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| Produkt | WSO2 API Manager |
| Betroffen | alle Versionen bis einschließlich 4.5.0 |
| Gepatcht | 4.5.0 Update 57 (Community: carbon-apimgt PR 13752) und später |
| Auth | nicht authentifiziert (siehe Source Map) |
| Lizenz | GNU Affero GPL v3.0 |
| Lab | nur 127.0.0.1 · Vendor/Client-Disclosure-Paket, kein Scanner |
carbon-apimgt JWTUtil.verifyTokenSignature und OAuthAuthenticationInterceptor. Patch PR 13752 wirft OAuthAuthenticationInterceptorException. Vendor-Test product-apim PR 14167 fälscht HS256-Admin-JWT.
GET/api/am/admin/v4/tenant-configGET /api/am/admin/v4/tenant-config Authorization Bearer HS256 JWT (no kid)OAuthAuthenticationInterceptor extracts JWT (token contains '.')OAuthJwtAuthenticatorImpl.validateJWTToken -> JWTValidatorImpl.validateSignatureJWTUtil.verifyTokenSignature(jwt, alias) throws APIManagementException for HS256pre-patch interceptor catch logs and returns; request proceeds as claimed adminNicht authentifizierte 200 JSON von /api/am/admin/v4/tenant-config mit gefälschtem HS256 Bearer. Kontroll-GET ohne Token ist 401.
Zuerst dies tun: Aktualisieren Sie WSO2 API Manager auf 4.5.0 Update 57 (Community: carbon-apimgt PR 13752) oder neuer.
Nach dem Upgrade überprüfen
CVE-2026-5430-Abraxas-Labs.py erneut gegen den gepatchten Build aus: der zugeordnete Nachweis darf nicht erscheinen.Wenn Sie nicht sofort aktualisieren können
Zielen Sie nur auf http://127.0.0.1:8088 (oder das von Ihnen gebundene Loopback). Richten Sie dieses Skript nicht auf das Internet.
python3 CVE-2026-5430-Abraxas-Labs.py
Erfolg ist der Nachweis oben im Response-Body. Generisches 200 HTML ist es nicht.
Loopback-Stack zur Reproduktion. Offizielle Images, es sei denn ein Dockerfile in diesem Ordner baut aus dem Quellcode.
cd lab
docker compose up --force-recreate
Binden Sie den verwundbaren Produkt-Tree neben Compose ein, wenn die YAML ein lokales Verzeichnis mountet (Plugin-Zip / Source-Tag aus der Versionstabelle). Veröffentlichen Sie nichts außer 127.0.0.1.
# CVE-2026-5430 / WSO2-2026-5328
CWE: CWE-347
CVSS: Critical 10.0 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H (vendor). Single-tenant 9.8. CISA KEV 2026-09-24.
## Description
The JWT authentication mechanism accepts tokens signed with algorithms other than those explicitly configured or supported. An HS256 token with no kid makes `JWTUtil.verifyTokenSignature` throw; pre-patch `OAuthAuthenticationInterceptor` swallows `APIManagementException` and continues, so the Admin/Publisher REST call runs with the token claims (including `sub=admin`).
## Product
WSO2 API Manager 4.5.0 GA Docker Hub image (no Updates). Same carbon-apimgt on API Control Plane 4.5.0/4.6.0, API Manager 4.1.0-4.6.0, Traffic Manager 4.5.0/4.6.0, Universal Gateway 4.5.0/4.6.0.
Dieses Disclosure-Paket ist unter der GNU Affero General Public License v3.0 lizenziert. Siehe LICENSE.
Dieses Paket ist für den Vendor, den Site-Eigentümer und lizenzierte Labs. Das Skript kommuniziert mit 127.0.0.1. Die Verwendung gegen Systeme, die Ihnen nicht gehören, ist von Abraxas Labs nicht autorisiert. Keine Gewährleistung.