首页 网络安全 正文

EMLOG Pro 2.6.6接口CSRF漏洞CVE-2026-31954

摘要

栋科技漏洞库关注到 EMLOG Pro 2.6.6 及以下版本的 delete_async 接口 CSRF 漏洞,现追踪为CVE-2026-31954,CVSS 评分未知。

EMLOG Pro 是一款基于 PHP 与 MySQL 开发的轻量级开源博客与 CMS 建站系统,程序体积小、代码精简,且对服务器配置要求低。

一、基本情况

EMLOG Pro 主打简洁、高效、低资源占用,运行速度快,响应流畅,高并发下稳定性好,后台界面清爽,无需专业技术即可快速上手。

EMLOG Pro 2.6.6接口CSRF漏洞CVE-2026-31954

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

六、参考链接

管理员已设置登录后刷新可查看



扫描二维码,在手机上阅读
评论
更换验证码
友情链接