
CVE-2026-13447 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो WordPress MStore API प्लगइन में फ़र्जी Firebase JWT टोकन के माध्यम से एक गंभीर ऑथेंटिकेशन बायपास है, साथ में एक स्थानीय लैब प्रजनन।
abraxaslabs.tech · github.com/abraxas · @abraxas_null · CVE-2026-13447
WordPress — MStore API 4.18.4 — inspireui
WordPress के लिए Mstore Api प्लगइन 4.20.0 तक के संस्करणों में JWT Forgery के माध्यम से Authentication Bypass के प्रति असुरक्षित है। यह FirebasePhoneAuthHelper::verify_id_token() फ़ंक्शन में क्रिप्टोग्राफ़िक हस्ताक्षर सत्यापन के अभाव के कारण है, जो Firebase ID टोकन दावों (alg, kid, aud, iss) को डिकोड और सत्यापित करता है लेकिन Google के वास्तविक सार्वजनिक कुंजी प्रमाणपत्रों के विरुद्ध JWT हस्ताक्षर को मान्य करने के लिए कभी भी openssl_verify() या कोई समकक्ष कॉल नहीं करता है। इससे अनधिकृत हमलावरों के लिए स्व-जनित RSA कुंजी जोड़ी से हस्ताक्षरित Firebase Phone Auth JWT को फ़ोर्ज करना और किसी भी फ़ोन नंबर का रूप धारण करना संभव हो जाता है, जिसके परिणामस्वरूप मौजूदा WordPress खातों तक अनधिकृत पहुँच या नए मनमाने खातों का निर्माण होता है।
| CVE | CVE-2026-13447 · CVE.org |
| CWE | CWE-287 |
| CVSS | Critical: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Product | WordPress — MStore API |
| Affected | 4.20.0 तक के सभी संस्करण (lab 4.18.4; 4.20.0 zip नहीं) |
| Patched | 4.21.1 और बाद के संस्करण |
| Auth | कोई नहीं (source map देखें) |
| License | GNU Affero GPL v3.0 |
| Lab | केवल 127.0.0.1 · vendor/client disclosure pack, स्कैनर नहीं |
verify_id_token ही sink है। HTTP, JSON id_token के साथ POST firebase_sms_v2 है, verify_id_token नाम का query param नहीं।
POST/wp-json/api/flutter_user/firebase_sms_v2GET Google x509 metadata, pick a kidBuild unsigned-verify JWT RS256 kid=that, aud=poc13447, iss=https://securetoken.google.com/poc13447, phone_number=+15551213447POST /wp-json/api/flutter_user/firebase_sms_v2 {id_token}verify_id_token skips openssl_verify, returns +15551213447firebase_sms_login_v2 get_users registered_phone_number=that phone -> user 1JSON cookie + displayname POCWitness13447POST JSON body में POCWitness13447 (admin displayname) और cookie होता है। उस स्ट्रिंग के बिना सामान्य 200, यह नहीं है।
पहले यह करें: MStore API को 4.21.1 या नए संस्करण में अपडेट करें।
अपग्रेड के बाद सत्यापित करें
CVE-2026-13447-Abraxas-Labs.py को फिर से चलाएँ: mapped witness नहीं दिखना चाहिए।यदि आप तुरंत अपडेट नहीं कर सकते
लक्ष्य केवल http://127.0.0.1:8088 (या जो loopback आपने बाइंड किया है)। इस स्क्रिप्ट को इंटरनेट की ओर निर्देशित न करें।
python3 CVE-2026-13447-Abraxas-Labs.py
सफलता प्रतिक्रिया body में ऊपर दिया गया witness है। सामान्य 200 HTML यह नहीं है।
प्रतिलिपि बनाने के लिए उपयोग किया गया loopback stack। आधिकारिक images, जब तक इस फ़ोल्डर में कोई Dockerfile स्रोत से बिल्ड न करे।
cd lab
docker compose up --force-recreate
यदि YAML किसी स्थानीय निर्देशिका को माउंट करता है (संस्करण तालिका से plugin zip / source tag) तो असुरक्षित उत्पाद ट्री को Compose के बगल में बाइंड करें। 127.0.0.1 के अलावा कुछ भी प्रकाशित न करें।
plugins.trac.wordpress.org/browser/mstore-api/tags/4.18.4/controllers/flutter-user.php#L829
plugins.trac.wordpress.org/browser/mstore-api/tags/4.18.4/controllers/flutter-user.php#L940
plugins.trac.wordpress.org/browser/mstore-api/trunk/controllers/flutter-user.php#L829
plugins.trac.wordpress.org/browser/mstore-api/trunk/controllers/flutter-user.php#L940
www.wordfence.com/threat-intel/vulnerabilities/id/4a1127af-74f6-4748-9aee-5a8c6c2766a4?source=cve
Plugin directory: mstore-api
Trac browser: plugins.trac.wordpress.org/mstore-api
SVN tags: plugins.svn.wordpress.org/mstore-api
Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null
# CVE-2026-13447 (structured records)
- input: `https://nvd.nist.gov/vuln/detail/CVE-2026-13447`
- CWE: CWE-287
- published: 2026-09-05T06:17:09.403
## NVD description
The Mstore Api plugin for WordPress is vulnerable to Authentication Bypass via JWT Forgery in versions up to, and including, 4.20.0 This is due to missing cryptographic signature verification in the FirebasePhoneAuthHelper::verify_id_token() function, which decodes and validates Firebase ID token claims (alg, kid, aud, iss) but never calls openssl_verify() or any equivalent to validate the JWT signature against Google's actual public key certificates. This makes it possible for unauthenticated attackers to forge a Firebase Phone Auth JWT signed with a self-generated RSA key pair and impersonate any phone number, resulting in unauthorized access to existing WordPress accounts or creation of new arbitrary accounts.
## MITRE description
The Mstore Api plugin for WordPress is vulnerable to Authentication Bypass via JWT Forgery in versions up to, and including, 4.20.0 This is due to missing cryptographic signature verification in the FirebasePhoneAuthHelper::verify_id_token() function, which decodes and validates Firebase ID token claims (alg, kid, aud, iss) but never calls openssl_verify() or any equivalent to validate the JWT signature against Google's actual public key certificates. This makes it possible for unauthenticated attackers to forge a Firebase Phone Auth JWT signed with a self-generated RSA key pair and impersonate any phone number, resulting in unauthorized access to existing WordPress accounts or creation of new arbitrary accounts.
## Affected
- inspireui MStore API – Create Native Android & iOS Apps On The Cloud 0 affected
## References (JSON sources only)
- https://plugins.trac.wordpress.org/browser/mstore-api/tags/4.18.4/controllers/flutter-user.php#L829
- https://plugins.trac.wordpress.org/browser/mstore-api/tags/4.18.4/controllers/flutter-user.php#L940
- https://plugins.trac.wordpress.org/browser/mstore-api/tags/4.18.4/controllers/helpers/firebase-phone-auth-helper.php#L5
- https://plugins.trac.wordpress.org/browser/mstore-api/trunk/controllers/flutter-user.php#L829
- https://plugins.trac.wordpress.org/browser/mstore-api/trunk/controllers/flutter-user.php#L940
- https://plugins.trac.wordpress.org/browser/mstore-api/trunk/controllers/helpers/firebase-phone-auth-helper.php#L5
- https://www.wordfence.com/threat-intel/vulnerabilities/id/4a1127af-74f6-4748-9aee-5a8c6c2766a4?source=cve
- https://github.com/advisories/GHSA-6wfp-pwm3-667v
- https://nvd.nist.gov/vuln/detail/CVE-2026-13447
## GitHub advisory
The Mstore Api plugin for WordPress is vulnerable to Authentication Bypass via JWT Forgery in...
The Mstore Api plugin for WordPress is vulnerable to Authentication Bypass via JWT Forgery in versions up to, and including, 4.20.0 This is due to missing cryptographic signature verification in the FirebasePhoneAuthHelper::verify_id_token() function, which decodes and validates Firebase ID token claims (alg, kid, aud, iss) but never calls openssl_verify() or any equivalent to validate the JWT signature against Google's actual public key certificates. This makes it possible for unauthenticated attackers to forge a Firebase Phone Auth JWT signed with a self-generated RSA key pair and impersonate any phone number, resulting in unauthorized access to existing WordPress accounts or creation of new arbitrary accounts.
यह disclosure pack GNU Affero General Public License v3.0 के अंतर्गत लाइसेंस प्राप्त है। देखें LICENSE।
यह pack vendor, साइट स्वामी, और लाइसेंस प्राप्त labs के लिए है। स्क्रिप्ट 127.0.0.1 से बात करती है। जिन सिस्टमों के आप स्वामी नहीं हैं उनके विरुद्ध इसका उपयोग Abraxas Labs द्वारा अधिकृत नहीं है। कोई वारंटी नहीं।