
حزمة كشف و Python PoC لـ 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 | حرج: 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 (المجتمع: 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 يزوّر JWT إداري HS256.
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 admin200 JSON بدون مصادقة من /api/am/admin/v4/tenant-config مع Bearer HS256 مزوّر. طلب التحكم 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 (أو عنوان loopback الذي ربطته). لا توجّه هذا السكربت إلى الإنترنت.
python3 CVE-2026-5430-Abraxas-Labs.py
النجاح هو الشاهد أعلاه في جسم الاستجابة. 200 HTML عام ليس كذلك.
حزمة loopback المستخدمة لإعادة الإنتاج. صور رسمية ما لم يبنِ Dockerfile في هذا المجلد من المصدر.
cd lab
docker compose up --force-recreate
اربط شجرة المنتج المتأثر بجانب Compose إذا كان ملف YAML يربط دليلًا محليًا (plugin 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. لا ضمان.