Skip to content
KitploitKITPLOIT
工具漏洞利用博客
提交
工具漏洞利用博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-87902 — CVE-2026-87902 的概念验证与披露包,该漏洞是 WordPress Core 中通过 locate_template() 实现的未认证本地文件包含,附带回环实验环境和补丁指导。 | Kitploit
工具/GitHubGitHub/abraxas/cve-2026-87902
漏洞分析漏洞利用Web应用程序漏洞利用信息收集Web安全渗透测试实验室与实践
GitHubabraxas/cve-2026-87902

CVE-2026-87902

CVE-2026-87902 的概念验证与披露包,该漏洞是 WordPress Core 中通过 locate_template() 实现的未认证本地文件包含,附带回环实验环境和补丁指导。

查看仓库
31121小时52分前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Abraxas Labs — CVE-2026-87902 — WordPress

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

CVE-2026-87902 — WordPress

WordPress — WordPress Core 7.1.1 — WordPress

WordPress Core 在多个版本(包括 7.1.1 及之前版本)中,其 locate_template() 函数存在本地文件包含漏洞。

CVECVE-2026-87902 · CVE.org
CWECWE-98
CVSS高危:8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
产品WordPress Core
受影响版本所有 至 7.1.1(含) 的版本
已修复版本7.1.2 及更高版本
认证无需认证(见源码映射)
许可证GNU Affero GPL v3.0
实验环境仅限 127.0.0.1 · 供应商/客户披露包,非扫描器

安全公告(来自源码映射)

wp-includes/template.php 中 7.1.1 版本的 get_page_template + locate_template。7.1.2 补丁增加了 _wp_is_template_path_allowed 并对解码后的 pagename 执行 validate_file。


入口

  • 方法: GET
  • 路径: /?page_id={id}&pagename=templates%252F%252e%252e%252F%252e%252e%252F%252e%252e%252Fuploads%252Fghsa7hp8-witness
  • 路由: 无需认证的前端页面查询。get_page_template() 根据 URL 解码后的 pagename 构建 page-{$pagename}.php。locate_template() 将其拼接到主题目录,未做路径限制。
  • 备注: CVE-2026-87902 CWE-98 WordPress <= 7.1.1 未认证 LFI。见证:页面响应中包含 GHSA7HP8-WITNESS 和 wp_version=7.1.1。非反弹 shell。非 pearcmd。

调用链

  • GET /?page_id=&lt;已发布页面&gt;&pagename=&lt;双重编码的 templates/../../../uploads/ghsa7hp8-witness&gt;
  • WP_Query parse_query is_page 来自 page_id;get_posts 将 WHERE 替换为 ID=page_id
  • get_page_template 对 pagename 进行 URL 解码,然后拼接 page-{$pagename}.php
  • locate_template file_exists(stylesheet_path + '/' + template_name) 无路径限制
  • template-loader realpath + include

实验环境前提条件

  • WordPress 7.1.1(或 7.1.2 向后移植前的任何受影响分支)
  • 具有名为 page-* 的顶级目录的经典主题(page-templates)
  • 可读的本地 .php 目标文件(实验环境:wp-content/uploads/ghsa7hp8-witness.php)

见证

未认证的 200 响应体包含 GHSA7HP8-WITNESS 和 wp_version=7.1.1。对照请求 GET /?page_id=N 则不会。

非成功标志

  • 仅在直接 GET 上传的 PHP 文件时出现见证(wp_version=none)
  • 反弹 shell
  • pearcmd.php 利用链

补丁 / 修复

首先执行: 将 WordPress Core 更新至 7.1.2 或更高版本。

升级后验证

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

若无法立即更新

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

复现(授权实验环境)

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

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

成功标志是响应体中包含上述见证。普通的 200 HTML 响应不算。


实验环境镜像

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

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

如果 YAML 挂载了本地目录(来自版本表的插件 zip / 源码标签),请将存在漏洞的产品目录绑定到 Compose 旁边。除 127.0.0.1 外不发布任何内容。


参考资料

  • CVE-2026-87902 · NVD

  • CVE-2026-87902 · CVE.org

  • github.com/WordPress/wordpress-develop/security/advisories/GHSA-7hp8-65ch-5whp

  • www.wordfence.com/threat-intel/vulnerabilities/wordpress-core/wordpress-core-711-unauthenticated-local-file-inclusion-via-locate-template-path-traversal

  • www.cve.org/CVERecord?id=CVE-2026-87902

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


记录(结构化)

root@kitploit:~
# CVE-2026-87902 / GHSA-7hp8-65ch-5whp

CWE: CWE-98
CVSS: High 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H (Wordfence). GitHub advisory: Critical.

## Description

An unauthenticated attacker can make `get_page_template()` page-template resolution include a chosen readable local `.php` file outside the active theme directories. `locate_template()` in WordPress <= 7.1.1 concatenates the caller-supplied template name onto the theme path and does not verify the result stays inside the theme. The core-reachable vector is the url-decoded `pagename` query variable. WordPress 7.1.2 adds `_wp_is_template_path_allowed()`.

## Product

WordPress 7.1.1 (fixed in 7.1.2, backported through 4.7.37). Lab oracle is LFI of a witness PHP file, not RCE.

许可证

本披露包采用 GNU Affero General Public License v3.0 许可。参见 LICENSE。


免责声明

本包仅供供应商、站点所有者及授权实验室使用。脚本仅与 127.0.0.1 通信。Abraxas Labs 未授权将其用于你并不拥有的系统。不提供任何担保。

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

下载工具