
CVE-2026-5430에 대한 공개 패키지 및 Python PoC로, WSO2 API Manager 4.5.0의 JWT 알고리즘 혼동 취약점을 이용해 인증 없이 관리자 계정을 탈취할 수 있습니다.
abraxaslabs.tech · github.com/abraxas · @abraxas_null · CVE-2026-5430
WSO2 API Manager 4.5.0 — WSO2
JWT 인증 메커니즘이 명시적으로 구성되거나 지원되는 알고리즘 이외의 알고리즘으로 서명된 토큰을 허용합니다. 이를 통해 공격자는 지원되지 않는 알고리즘으로 JWT를 위조할 수 있으며, 이 토큰이 잘못 검증되어 무단 접근으로 이어집니다.
| CVE | CVE-2026-5430 · CVE.org |
| 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 |
| Product | WSO2 API Manager |
| Affected | 4.5.0까지 모든 버전(포함) |
| Patched | 4.5.0 update 57 (커뮤니티: carbon-apimgt PR 13752) 및 이후 버전 |
| Auth | 인증되지 않음 (소스 맵 참조) |
| License | GNU Affero GPL v3.0 |
| Lab | 127.0.0.1 전용 · 벤더/클라이언트 공개 패키지, 스캐너 아님 |
carbon-apimgt JWTUtil.verifyTokenSignature 및 OAuthAuthenticationInterceptor. 패치 PR 13752는 OAuthAuthenticationInterceptorException을 발생시킵니다. 벤더 테스트 product-apim PR 14167은 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 admin위조된 HS256 Bearer로 /api/am/admin/v4/tenant-config에서 인증되지 않은 200 JSON. 토큰 없는 대조군 GET은 401.
먼저 이 작업을 수행하세요: WSO2 API Manager를 4.5.0 update 57 (커뮤니티: carbon-apimgt PR 13752) 이상으로 업데이트하세요.
업그레이드 후 검증
CVE-2026-5430-Abraxas-Labs.py를 다시 실행하세요: 매핑된 증거가 나타나지 않아야 합니다.즉시 업데이트할 수 없는 경우
오직 http://127.0.0.1:8088 (또는 바인딩한 루프백)만 대상으로 하세요. 이 스크립트를 인터넷을 향해 실행하지 마세요.
python3 CVE-2026-5430-Abraxas-Labs.py
성공은 응답 본문에 위의 증거가 나타나는 것입니다. 일반적인 200 HTML은 아닙니다.
재현에 사용된 루프백 스택. 이 폴더의 Dockerfile이 소스에서 빌드하지 않는 한 공식 이미지입니다.
cd lab
docker compose up --force-recreate
YAML이 로컬 디렉터리를 마운트하는 경우 (버전 테이블의 플러그인 zip / 소스 태그) Compose 옆에 취약한 제품 트리를 바인딩하세요. 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.
이 공개 패키지는 GNU Affero General Public License v3.0에 따라 라이선스가 부여됩니다. LICENSE를 참조하세요.
이 패키지는 벤더, 사이트 소유자, 라이선스가 부여된 랩을 위한 것입니다. 스크립트는 127.0.0.1과 통신합니다. 소유하지 않은 시스템에 대해 사용하는 것은 Abraxas Labs에 의해 승인되지 않습니다. 보증 없음.