Acadlix LMS 爆出 9.1 分漏洞:一条请求就能删掉 wp-config.php

一个只校验 nonce 的文件删除接口,让未登录访客也能删掉服务器上任意可写文件。Acadlix LMS 1.1.9 及以下版本受影响,1.2.0 直接把上传和删除两条路由整段删掉了。

Acadlix LMS 未认证任意文件删除漏洞

一句话结论:这个洞根本不用“订阅者”身份,nonce 就印在前台页面里,任何访客都能让服务器删文件;删中 wp-config.php,站点就换主人了。

两处失误叠在一起

Acadlix LMS 是今年才上架的在线考试与课程插件,漏洞编号 CVE-2026-103882,CVSS 9.1,归类是路径穿越导致任意文件删除。入口是插件前台命名空间下的一条 REST 路由:post-delete-assessment-file。

第一处失误在权限回调。整段函数只有一句 wp_verify_nonce(),既没有角色判断也没有能力检查。而那个 nonce 并不保密——插件把同一个 nonce 注入前台页面的 acadlixOptions 对象,打开首页读一下就有,未登录访客同样有效。所谓“需要订阅者权限”,事实上等于零权限。

第二处失误在处理函数。删除路径直接从请求体里取,没有 realpath、没有目录前缀比对,file_exists 一通过就执行 wp_delete_file。同一个类里的上传函数老老实实把文件写进 uploads 目录,删除逻辑却从没想过“是不是只该删这里面的文件”。

删掉 wp-config 之后会怎样

目前没有公开 EXP,但这条链一行代码都不用写。先从首页捞出 nonce,再把 file_path 指向 wp-config.php。WordPress 启动时发现配置文件不见了,会直接跳到安装向导;攻击者填自己的数据库地址走完安装,就拿到管理员账号,原来的站和库被隔离在外面。

就算 wp-config 因为权限删不掉,损失也不小:删 .htaccess,伪静态和自定义防护规则一起失效;删 uploads 里的文件,历史附件和备份包直接消失;删某个插件主文件,站点白屏或 500;删 advanced-cache.php 这类 drop-in,缓存层塌掉,流量全量打到数据库。共享主机上 wp-config.php 的属主往往就是 Web 用户,基本一次就成。

更隐蔽的一层是:这条 check_permission 是整个前台命名空间共用的。交卷、保存成绩、查排行榜这些接口都挂在它后面,未认证请求就能调用,伪造答题记录、改分在理论上都做得到,而且从业务侧很难发现。

自查与修复

先看版本:插件目录 acadlix/readme.txt 里的 Version,或后台插件列表。低于 1.2.0 就要处理。1.2.0 在 10 月 23 日发布,做法是把 upload 和 delete 两条路由连同处理函数整段删掉,前台只剩读题、交卷、排行榜——功能砍掉,风险归零。

升不动的话,在网关层拦掉 post-delete-assessment-file 和 upload 两条路径,统一返 403。自己改代码的,路径必须做归属校验:realpath 之后要求以 wp_upload_dir() 下的 acadlix-assessment 目录开头,否则拒绝。权限回调也要补能力判断,删附件至少要有 edit_posts;nonce 只防 CSRF,不是身份认证。

兜底三件事:wp-config.php 对 Web 用户设只读,插件目录设只读,wp-config 和数据库定期离线备份。被删之后,备份是唯一能救回站点的东西。

CN-SEC 中文网《未认证删任意文件:WordPress 插件 CVSS 9.1 可直接接管站点》(2026-11-01)。

转载请说明出处 内容投诉内容投诉
ZKUI资源站 » Acadlix LMS 爆出 9.1 分漏洞:一条请求就能删掉 wp-config.php

发表评论

欢迎 访客 发表评论

优质建站资源,一站获取

每日更新网站源码、主题模板、设计素材与插件模块,全部人工筛选、实测可用。开通 VIP 会员可免费下载全站资源,积分同样可以兑换。

浏览源码 会员权益