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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-78159 — 针对 CVE-2026-78159 的概念验证漏洞利用,该漏洞是通过 parse_array 小部件类接收器在 The Events Calendar WordPress 插件中实现的未认证 RCE。 | Kitploit
工具/GitHubGitHub/abraxas/cve-2026-78159
漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试远程访问工具
GitHubabraxas/cve-2026-78159

CVE-2026-78159

针对 CVE-2026-78159 的概念验证漏洞利用,该漏洞是通过 parse_array 小部件类接收器在 The Events Calendar WordPress 插件中实现的未认证 RCE。

查看仓库
7小时27分前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Abraxas Labs — CVE-2026-78159

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

CVE-2026-78159

The Events Calendar 6.17.3 — stellarwp

WordPress 的 The Events Calendar 插件在所有版本(包括 6.17.3)中,通过 parse_array 函数存在远程代码执行漏洞。这是由于对 widget 的 'classes' 映射验证不足,允许纯数组载荷绕过 is_safe_widget_instance() 对象检查,并到达 Element_Classes::parse_array() 中的可调用函数调用汇聚点。这使得未经身份验证的攻击者可以在服务器上执行代码。利用该漏洞需要目标站点在 tribe_events 文章上启用了评论功能,并且至少已提交一条包含精心构造的 wp:legacy-widget 块的评论,因为当 do_blocks() 处理包含评论区域的单事件 HTML 时会触发攻击链。

CVECVE-2026-78159 · CVE.org
CWECWE-94
CVSS严重:9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
产品The Events Calendar
受影响所有版本 直至 6.17.3(含)
已修复6.17.3.1 及更高版本
认证无(见源码映射)
许可证GNU Affero GPL v3.0
实验环境仅限 127.0.0.1 · 供应商/客户披露包,非扫描器

公告(来自源码映射)

parse_array 是汇聚点,而非 ajax action=。HTTP 流程为 POST /wp-comments-post.php,然后 GET 审核预览 URL。Widget 的 idBase 是 tribe-widget-events-list,而非 events-list。


入口

  • 方法: POST
  • 路径: /wp-comments-post.php
  • 路由: 未认证的 wp-comments-post.php。TEC V2 单事件会缓冲 comments_template(),然后执行 do_blocks()。render_block_data 会重新哈希 tribe-widget-* 实例。the_widget('tribe-widget-events-list') 在 featured_events_only 为 true 时会清空列表,因此 components/messages.php 会运行 tec_classes($classes)。Element_Classes::parse_array 会调用字符串可调用值。实验环境金丝雀为 poc_witness_78159,而非 system(),也非 wp_update_user。
  • 备注: CVE-2026-78159 CWE-94:The Events Calendar 6.17.3。idBase 必须为 tribe-widget-events-list(前缀 tribe-widget- + 别名 events-list)。虚拟哈希即可。首次 GET /event/lab-event/ 仅为采集。仅当评论重定向后出现 POCWitness78159 时才算成功。

调用链

  • GET /event/lab-event/ 采集 comment_post_ID
  • POST /wp-comments-post.php comment=<!-- wp:legacy-widget {idBase tribe-widget-events-list, instance.encoded php-serialize-base64, instance.hash 0} /-->
  • 302 Location 包含 unapproved=COMMENT_ID&moderation-hash=wp_hash(comment_date_gmt)
  • GET 该 Location:comments_template 包含未批准的评论
  • Template_Bootstrap::get_v1_single_event_template_html do_blocks($html)
  • Service_Provider::enable_rendering_widget_copied (render_block_data) unserialize allowed_classes false,is_safe_widget_instance 仅拒绝对象,对纯数组执行 wp_hash
  • render_block_core_legacy_widget the_widget tribe-widget-events-list
  • Widget_List setup_arguments array_merge instance(classes 保留;setup_template_vars 不会覆盖它)
  • 空 featured 列表 -> widget-events-list.php else 分支 components/messages.php

实验环境前提条件

  • The Events Calendar 6.17.3 已启用
  • 经典主题(Twenty Twenty-One)。块主题会通过 tec_is_full_site_editor() 跳过 Template_Bootstrap::filter_template_include,因此 do_blocks 永远不会看到评论 HTML
  • tribe_events_calendar_options showComments=yes,因此 tribe_events 支持评论
  • 已发布的 tribe_events 文章 lab-event,comment_status=open
  • comment_registration=0,首批评论被保留(unapproved + moderation-hash)
  • mu-plugin 函数 poc_witness_78159 输出 POCWitness78159(实验环境金丝雀,非 gadget 链)
  • V2 视图/widget 已启用(在 6.17.3 中始终为 true)

见证

审核预览 GET 的 HTTP 响应体包含 POCWitness78159。不含该字符串的通用事件 HTML 不算。debug.log 也可能追加 POCWitness78159。

非成功

  • 不含 POCWitness78159 的通用 200 事件 HTML
  • wp-comments-post.php 返回 200/302 但未跟随 Location
  • 评论 409/重复但无该块
  • 403/404 但无见证
  • 反弹 shell 或出站连接
  • system()/exec()/wp_update_user 密码重置载荷

补丁 / 修复

首先执行: 将 The Events Calendar 更新至 6.17.3.1 或更高版本(Wordfence 建议 6.17.4.1,以同时覆盖 CVE-2026-78006)。

升级后验证

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

如果无法立即更新

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

复现(授权实验环境)

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

root@kitploit:~
python3 CVE-2026-78159-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-78159 · NVD

  • CVE-2026-78159 · CVE.org

  • plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.17.3/common/src/Tribe/Utils/Element_Classes.php#L211

  • plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.17.3/src/Tribe/Views/V2/Template_Bootstrap.php#L214

  • plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.17.3/src/Tribe/Views/V2/Widgets/Service_Provider.php#L279

  • plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.17.3/src/views/v2/components/messages.php#L30

  • plugins.trac.wordpress.org/changeset?reponame=&old=3667866%40the-events-calendar&new=3667866%40the-events-calendar

  • plugins.trac.wordpress.org/changeset?reponame=&old=3667867%40the-events-calendar&new=3667867%40the-events-calendar

  • www.wordfence.com/threat-intel/vulnerabilities/id/cc2ccfeb-6df6-4fee-96a5-94f8dd131f7c?source=cve

  • github.com/advisories/GHSA-9c57-9fxg-8x9j

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

  • 插件目录:the-events-calendar


记录(结构化)

root@kitploit:~
# CVE-2026-78159  (structured records)

- input: `https://nvd.nist.gov/vuln/detail/CVE-2026-78159`
- CWE: CWE-94
- published: 2026-09-12T08:16:24.377

## NVD description

The The Events Calendar plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 6.17.3 via the parse_array function. This is due to insufficient validation of the widget 'classes' map, allowing a plain-array payload to bypass the is_safe_widget_instance() object check and reach the callable-invocation sink in Element_Classes::parse_array(). This makes it possible for unauthenticated attackers to execute code on the server. Exploitation requires that the targeted site has comments enabled on tribe_events posts and that at least one comment containing a crafted wp:legacy-widget block has been submitted, as the attack chain is triggered when do_blocks() processes the single-event HTML including the comment area.

## MITRE description

The The Events Calendar plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 6.17.3 via the parse_array function. This is due to insufficient validation of the widget 'classes' map, allowing a plain-array payload to bypass the is_safe_widget_instance() object check and reach the callable-invocation sink in Element_Classes::parse_array(). This makes it possible for unauthenticated attackers to execute code on the server. Exploitation requires that the targeted site has comments enabled on tribe_events posts and that at least one comment containing a crafted wp:legacy-widget block has been submitted, as the attack chain is triggered when do_blocks() processes the single-event HTML including the comment area.

## Affected

- stellarwp The Events Calendar 0 affected

## References (JSON sources only)

- https://plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.17.3/common/src/Tribe/Utils/Element_Classes.php#L211
- https://plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.17.3/src/Tribe/Views/V2/Template_Bootstrap.php#L214
- https://plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.17.3/src/Tribe/Views/V2/Widgets/Service_Provider.php#L279
- https://plugins.trac.wordpress.org/browser/the-events-calendar/tags/6.17.3/src/views/v2/components/messages.php#L30
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3667866%40the-events-calendar&new=3667866%40the-events-calendar
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3667867%40the-events-calendar&new=3667867%40the-events-calendar
- https://www.wordfence.com/threat-intel/vulnerabilities/id/cc2ccfeb-6df6-4fee-96a5-94f8dd131f7c?source=cve
- https://github.com/advisories/GHSA-9c57-9fxg-8x9j
- https://nvd.nist.gov/vuln/detail/CVE-2026-78159

## GitHub advisory

The The Events Calendar plugin for WordPress is vulnerable to Remote Code Execution in all...

The The Events Calendar plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 6.17.3 via the parse_array function. This is due to insufficient validation of the widget 'classes' map, allowing a plain-array payload to bypass the is_safe_widget_instance() object check and reach the callable-invocation sink in Element_Classes::parse_array(). This makes it possible for unauthenticated attackers to execute code on the server. Exploitation requires that the targeted site has comments enabled on tribe_events posts and that at least one comment containing a crafted wp:legacy-widget block has been submitted, as the attack chain is triggered when do_blocks() processes the single-event HTML including the comment area.

许可证

本披露包依据 GNU Affero General Public License v3.0 许可。见 LICENSE。


免责声明

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

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

下载工具
  • tec_classes($classes) -> Element_Classes::parse_array 字符串键 + is_callable 值 -> poc_witness_78159($results) 输出 POCWitness78159
  • Trac 浏览器:plugins.trac.wordpress.org/the-events-calendar

  • SVN 标签:plugins.svn.wordpress.org/the-events-calendar

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