Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-13447 — 针对 CVE-2026-13447 的概念验证漏洞利用,该漏洞是 WordPress MStore API 插件中通过伪造 Firebase JWT 令牌实现的严重身份验证绕过,并包含本地实验环境复现。 | Kitploit
工具/GitHubGitHub/abraxas/cve-2026-13447
漏洞分析漏洞利用Web应用程序漏洞利用Web安全密码学渗透测试身份验证实验室与实践
GitHubabraxas/cve-2026-13447

CVE-2026-13447

针对 CVE-2026-13447 的概念验证漏洞利用,该漏洞是 WordPress MStore API 插件中通过伪造 Firebase JWT 令牌实现的严重身份验证绕过,并包含本地实验环境复现。

查看仓库
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

WordPress 的 Mstore Api 插件在 4.20.0 及之前版本中存在通过 JWT 伪造实现的认证绕过漏洞。这是由于 FirebasePhoneAuthHelper::verify_id_token() 函数缺少加密签名验证,该函数会解码并验证 Firebase ID token 的声明(alg、kid、aud、iss),但从未调用 openssl_verify() 或任何等效方法来根据 Google 的实际公钥证书验证 JWT 签名。这使得未认证的攻击者能够使用自行生成的 RSA 密钥对伪造 Firebase Phone Auth JWT,并冒充任意电话号码,从而未经授权访问现有 WordPress 账户或创建新的任意账户。

CVECVE-2026-13447 · CVE.org
CWECWE-287
CVSS严重: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;无 4.20.0 zip)
已修复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)。FlutterUserController 的 permission_callback isPurchaseCodeVerified 始终为 true。firebase_sms_verify_id_token 读取 php://input 中的 id_token。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;无 4.20.0 zip)。JSON 中的见证 POCWitness13447。不是反向 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
  • 管理员 registered_phone_number=+15551213447 display_name=POCWitness13447
  • 实验主机可 GET Google x509(kid 必须在该列表中)

见证

POST JSON 正文包含 POCWitness13447(管理员 displayname)和 cookie。不含该字符串的通用 200 响应不算成功。

非成功

  • id_token 无效
  • 未找到 Firebase 私钥文件
  • 用户不存在
  • 200 响应中不含 POCWitness13447
  • 反向 shell 或除 Google kid 获取之外的外连

补丁 / 修复

首先执行: 将 MStore API 更新至 4.21.1 或更新版本。

升级后验证

  • 针对已修补版本重新运行 CVE-2026-13447-Abraxas-Labs.py:映射的见证不得出现。
  • 确认部署目录中的供应商公告 / 变更集(见参考资料)。
  • WAF 签名只是延迟,不是补丁。

如果无法立即更新

  • 禁用或隔离受影响的组件。
  • 在生产环境中搜寻见证条件(新的特权用户、异常文件、注入的行——即此 CVE 映射所指的任何内容)。

复现(授权实验环境)

仅针对 http://127.0.0.1:8088(或你绑定的回环地址)。不要将此脚本指向互联网。

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

成功标志是响应正文中出现上述见证。通用的 200 HTML 不算成功。


实验镜像

用于复现的回环栈。除非此文件夹中的 Dockerfile 从源码构建,否则使用官方镜像。

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

如果 YAML 挂载了本地目录(来自版本表的插件 zip / 源码标签),请将存在漏洞的产品目录树绑定到 Compose 旁边。除 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

下载工具