EMLOG Pro 2.6.6接口CSRF漏洞CVE-2026-31954
EMLOG Pro 是一款基于 PHP 与 MySQL 开发的轻量级开源博客与 CMS 建站系统,程序体积小、代码精简,且对服务器配置要求低。
一、基本情况
EMLOG Pro 主打简洁、高效、低资源占用,运行速度快,响应流畅,高并发下稳定性好,后台界面清爽,无需专业技术即可快速上手。

EMLOG Pro 内置应用商店和资源管理器,提供大量免费与付费模板、插件,很适合个人博客、自媒体、小型资讯站等快速搭建与管理。
栋科技漏洞库关注到 EMLOG Pro 2.6.6 及以下版本的 delete_async 接口 CSRF 漏洞,现追踪为CVE-2026-31954,CVSS 评分未知。
二、漏洞分析
CVE-2026-31954 漏洞是EMLOG Pro 2.6.6 及以下版本中存在的未配置 CSRF 防护的异步媒体文件删除功能漏洞。
漏洞源于相关版本后台管理 delete_async(异步删除)操作处理请求时,未调用 LoginAuth::checkToken() 函数进行 CSRF 令牌校验。
远程攻击者诱导已登录管理员访问恶意页面,利用漏洞以管理员身份触发删除操作,导致网站日志、评论或其他重要数据被非法删除。
具体来说,该漏洞位于 emlog/admin/media.php 第 146-150 行,存在漏洞的代码如下:
// media.php:146-150
if ($action === 'delete_async') {
$aid = Input::postIntVar('aid');
$Media_Model->deleteMedia($aid);
output::ok(); // ← Missing LoginAuth::checkToken()
}
// Comparison with synchronous delete in the same file (lines 139-144):
if ($action === 'delete') {
LoginAuth::checkToken(); // ← CSRF protection exists
$aid = Input::getIntVar('aid');
$Media_Model->deleteMedia($aid);
emDirect("media.php");
}
由于delete_async动作(异步删除)未调用 LoginAuth::checkToken () 方法,同步删除动作已包含CSRF防护,属于典型开发人员疏忽。
三、POC概念验证
1、漏洞验证
管理员已设置登录后刷新可查看2、利用方法
管理员已设置登录后刷新可查看当管理员访问该页面时,所有媒体文件将被逐一删除。
3、修复建议
if ($action === 'delete_async') {
LoginAuth::checkToken(); // Add CSRF token validation
$aid = Input::postIntVar('aid');
$Media_Model->deleteMedia($aid);
output::ok();
}
四、影响范围
EMLOG Pro <= 2.6.6
五、修复建议
EMLOG Pro >= 2.6.6
六、参考链接
管理员已设置登录后刷新可查看