
Пакет раскрытия информации и PoC на Python для CVE-2026-5430 — уязвимости путаницы алгоритмов JWT в WSO2 API Manager 4.5.0, позволяющей неаутентифицированный захват учётной записи администратора.
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 |
| Продукт | WSO2 API Manager |
| Затронуто | все версии вплоть до 4.5.0 (включительно) |
| Исправлено | 4.5.0 update 57 (community: carbon-apimgt PR 13752) и новее |
| Аутентификация | без аутентификации (см. карту исходников) |
| Лицензия | GNU Affero GPL v3.0 |
| Лаборатория | только 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Неаутентифицированный 200 JSON от /api/am/admin/v4/tenant-config с поддельным HS256 Bearer. Контрольный GET без токена — 401.
Сделайте это в первую очередь: Обновите WSO2 API Manager до 4.5.0 update 57 (community: carbon-apimgt PR 13752) или новее.
Проверка после обновления
CVE-2026-5430-Abraxas-Labs.py против пропатченной сборки: отображённое свидетельство не должно появляться.Если вы не можете обновиться немедленно
Цель — только http://127.0.0.1:8088 (или тот loopback, который вы привязали). Не направляйте этот скрипт в интернет.
python3 CVE-2026-5430-Abraxas-Labs.py
Успех — это свидетельство выше в теле ответа. Обычный 200 HTML — это не оно.
Loopback-стек, использованный для воспроизведения. Официальные образы, если только Dockerfile в этой папке не собирает из исходников.
cd lab
docker compose up --force-recreate
Привяжите дерево уязвимого продукта рядом с Compose, если YAML монтирует локальный каталог (zip плагина / тег исходников из таблицы версий). Не публикуйте ничего, кроме 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. Без гарантий.