Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-13447 — Эксплойт proof-of-concept для CVE-2026-13447 — критического обхода аутентификации в плагине WordPress MStore API через поддельные JWT-токены Firebase, с воспроизведением в локальной лаборатории. | Kitploit
Инструменты/GitHubGitHub/abraxas/cve-2026-13447
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьКриптографияТестирование на ПроникновениеАутентификацияЛаборатории и Практика
GitHubabraxas/cve-2026-13447

CVE-2026-13447

Эксплойт proof-of-concept для CVE-2026-13447 — критического обхода аутентификации в плагине WordPress MStore API через поддельные JWT-токены Firebase, с воспроизведением в локальной лаборатории.

Репозиторий
4 ч 46 мин назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Abraxas Labs — CVE-2026-13447 — WordPress

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  CVE-2026-13447

CVE-2026-13447 — WordPress

WordPress — MStore API 4.18.4 — inspireui

Плагин Mstore Api для WordPress уязвим к обходу аутентификации через подделку JWT в версиях до 4.20.0 включительно. Это вызвано отсутствием проверки криптографической подписи в функции FirebasePhoneAuthHelper::verify_id_token(), которая декодирует и проверяет утверждения Firebase ID-токена (alg, kid, aud, iss), но никогда не вызывает openssl_verify() или любой эквивалент для проверки подписи JWT по фактическим сертификатам открытых ключей Google. Это позволяет неаутентифицированным злоумышленникам подделать Firebase Phone Auth JWT, подписанный самостоятельно сгенерированной парой ключей RSA, и выдать себя за любой номер телефона, что приводит к несанкционированному доступу к существующим учётным записям WordPress или созданию новых произвольных учётных записей.

CVECVE-2026-13447 · CVE.org
CWECWE-287
CVSSCritical: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
ПродуктWordPress — MStore API
Затронутовсе версии до 4.20.0 включительно (лаборатория 4.18.4; zip-архива 4.20.0 нет)
Исправлено4.21.1 и новее
Аутентификацияотсутствует (см. карту исходников)
ЛицензияGNU Affero GPL v3.0
Лабораториятолько 127.0.0.1 · пакет для раскрытия вендору/клиенту, не сканер

Рекомендации (из карты исходников)

verify_id_token — это точка входа. HTTP — это POST firebase_sms_v2 с JSON id_token, а не параметр запроса с именем verify_id_token.


Точка входа

  • Метод: POST
  • Путь: /wp-json/api/flutter_user/firebase_sms_v2
  • Маршрутизатор: POST /wp-json/api/flutter_user/firebase_sms_v2 (также /?rest_route=/api/flutter_user/firebase_sms_v2). permission_callback isPurchaseCodeVerified в FlutterUserController всегда true. firebase_sms_verify_id_token читает id_token из php://input. FirebasePhoneAuthHelper::verify_id_token проверяет alg, kid в списке ключей Google, aud/iss из загруженного firebase json, возвращает phone_number. firebase_sms_login_v2 ищет registered_phone_number и возвращает generateCookieByUserId. В 4.21.1 добавлена проверка подписи.
  • Примечания: CVE-2026-13447 CWE-287 MStore API 4.18.4 (NVD до 4.20.0; zip-архива 4.20.0 нет). Свидетель POCWitness13447 в JSON. Не reverse shell.

Цепочка вызовов

  • GET Google x509 metadata, pick a kid
  • Build unsigned-verify JWT RS256 kid=that, aud=poc13447, iss=https://securetoken.google.com/poc13447, phone_number=+15551213447
  • POST /wp-json/api/flutter_user/firebase_sms_v2 {id_token}
  • verify_id_token skips openssl_verify, returns +15551213447
  • firebase_sms_login_v2 get_users registered_phone_number=that phone -> user 1
  • JSON cookie + displayname POCWitness13447

Предусловия лаборатории

  • MStore API 4.18.4
  • uploads/flutter_firebase/poc13447.json project_id=poc13447, опция mstore_firebase_file_name
  • admin registered_phone_number=+15551213447 display_name=POCWitness13447
  • хост лаборатории может выполнить GET Google x509 (kid должен быть в этом списке)

Свидетель

Тело POST JSON содержит POCWitness13447 (displayname администратора) и cookie. Обычный 200 без этой строки — это не оно.

Не успех

  • id_token недействителен
  • Файл приватного ключа Firebase не найден
  • Пользователь не существует
  • 200 без POCWitness13447
  • reverse shell или исходящее соединение помимо запроса kid у Google

Патч / устранение

Сделайте это в первую очередь: Обновите MStore API до 4.21.1 или новее.

Проверка после обновления

  • Повторно запустите CVE-2026-13447-Abraxas-Labs.py против пропатченной сборки: сопоставленный свидетель не должен появиться.
  • Подтвердите рекомендацию вендора / набор изменений в развёрнутом дереве (см. ссылки).
  • Сигнатура WAF — это отсрочка, а не патч.

Если вы не можете обновиться немедленно

  • Отключите или изолируйте затронутый компонент.
  • Ищите условие свидетеля в продакшене (новые привилегированные пользователи, неожиданные файлы, внедрённые строки — всё, что указано в карте этой CVE).

Воспроизведение (авторизованная лаборатория)

Цель — только http://127.0.0.1:8088 (или loopback, который вы привязали). Не направляйте этот скрипт в интернет.

root@kitploit:~
python3 CVE-2026-13447-Abraxas-Labs.py

Успех — это свидетель выше в теле ответа. Обычный 200 HTML — это не оно.


Образы лаборатории

Loopback-стек, использованный для воспроизведения. Официальные образы, если только Dockerfile в этой папке не собирает из исходников.

  • lab/docker-compose.yml
  • lab/docker-compose.override.yml
  • lab/Dockerfile
root@kitploit:~
cd lab
docker compose up --force-recreate

Привяжите дерево уязвимого продукта рядом с Compose, если YAML монтирует локальный каталог (zip-архив плагина / тег исходников из таблицы версий). Не публикуйте ничего, кроме 127.0.0.1.


Ссылки

  • CVE-2026-13447 · NVD

  • CVE-2026-13447 · CVE.org

  • 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/tags/4.18.4/controllers/helpers/firebase-phone-auth-helper.php#L5

  • 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

  • plugins.trac.wordpress.org/browser/mstore-api/trunk/controllers/helpers/firebase-phone-auth-helper.php#L5

  • www.wordfence.com/threat-intel/vulnerabilities/id/4a1127af-74f6-4748-9aee-5a8c6c2766a4?source=cve

  • github.com/advisories/GHSA-6wfp-pwm3-667v

  • nvd.nist.gov/vuln/detail/CVE-2026-13447

  • Каталог плагинов: mstore-api

  • Браузер Trac: plugins.trac.wordpress.org/mstore-api

  • Теги SVN: plugins.svn.wordpress.org/mstore-api

  • Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null


Записи (структурированные)

root@kitploit:~
# 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.

Лицензия

Этот пакет раскрытия лицензирован под GNU Affero General Public License v3.0. См. LICENSE.


Отказ от ответственности

Этот пакет предназначен для вендора, владельца сайта и лицензированных лабораторий. Скрипт обращается к 127.0.0.1. Использование его против систем, которыми вы не владеете, не авторизовано Abraxas Labs. Без гарантий.

abraxaslabs.tech · github.com/abraxas · @abraxas_null

Скачать инструмент