首页 网络安全 正文

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

摘要

栋科技漏洞库关注到EMLOG Pro 2.6.24版本中存在的文章发布模块存储型 XSS 漏洞,现已追踪为CVE-2026-52520,CVSS评分未知。

EMLOG Pro基于PHP+MySQL/MariaDB开发,主打轻巧高速、部署极简,适配主流国内面板,一键备份网站、数据库,日志体系简单。

一、基本情况

EMLOG Pro 是基于 PHP 与 MySQL 的开源轻量级内容管理系统,提供文章发布、页面管理与评论等功能,且官方内核持续迭代更新。

EMLOG Pro 故障排查简单,部署门槛极低,兼容市面上几乎所有虚拟主机、轻量云主机,适配主流国内面板,一键备份网站、数据库。

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

EMLOG Pro 平衡轻量化速度+可商业化扩展,因此在国内轻量化 PHP 建站梯队里,是轻量化博客里商业化拓展能力最强的一款程序。

栋科技漏洞库关注到EMLOG Pro 2.6.24版本中存在的文章发布模块存储型 XSS 漏洞,现已追踪为CVE-2026-52520,CVSS评分未知。

二、漏洞分析

CVE-2026-52520是EMLOG Pro 2.6.24版本中存在的存储型跨站脚本(XSS)漏洞,位于后台文章编辑页面(/admin/article.php)中。

受影响版本中,文章发布接口 admin/article_save.php 通过 Input::postStrVar('logcontent') 直接读取 POST 字段 logcontent,

依赖的 Input::postStrVar 仅使用 addslashes(trim(...)) 处理后存入数据库;logexcerpt 字段同样被原样写入。

当编辑或贡献者以低权限身份在 admin/article.php?action=write 中提交草稿或在 admin/article.php?action=edit 中保存文章时,

所携带的 <script>、onerror= 等未编码的 HTML 标签会随 content 与 excerpt 一起持久化到数据库;

管理员随后在后台文章列表或预览页查看、审核或发布该文章时,content 在 admin/views/article.php 模板中以原始 HTML 输出,

触发浏览器执行恶意 JavaScript,进而在管理员会话内执行任意管理操作,包括创建后门管理员账户。

详细分析如下:

该程序采用 Parsedown Markdown 解析器渲染文章内容,并未开启安全模式(setSafeMode (true)),

也未开启 HTML 转义功能(setMarkupEscaped (true))。

这就导致了文章内容存入数据库前仅经过 addslashes 函数处理,未做任何 HTML 标签过滤与转义操作。

前端展示文章时,内容直接调用 Parsedown 的 text 方法解析输出,致使嵌入文章内的任意 HTML、JavaScript 代码均可执行。

(一)漏洞类型:存储型跨站脚本漏洞

利用条件:

1、仅需注册用户权限,发布文章需经过审核;若发布无需审核,则需配合社会工程学实施攻击

2、管理员、内容编辑账号发布文章无需审核

国家信息安全漏洞共享平台分类:通用软件漏洞(事件型)

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

(二)漏洞原理:

该漏洞属于存储型跨站脚本漏洞。Emlog 后台文章编辑处可植入恶意 JavaScript、HTML 代码,攻击流程如下:

1、普通用户注册账号,发布携带恶意 JS 代码的文章

2、系统通过 addlog 函数将未转义的文章内容直接存入数据库

3、管理员或内容编辑审核通过该文章

4、访客访问文章时,系统通过 getOneLogForHome 函数读取文章内容并在网页中渲染,触发跨站脚本攻击

5、根本成因:系统调用 Markdown 解析器时未开启安全模式,存入数据库前未对 JS、HTML 内容做转义处理

核心危害:攻击者可在文章中嵌入任意 JS、HTML 代码。若管理员、编辑人员未严格审核便放行文章,

所有访问该文章的用户都会触发恶意脚本,进而造成管理员 Cookie 被盗、蠕虫扩散等危害。

(三)危害等级判定:

危险等级:高危

具体危害:

凭证窃取:攻击者运行任意 JS 脚本窃取管理员及其他用户 Cookie

全站访客面临风险:攻击者发布的文章全站人员均可访问,访客打开页面即执行恶意代码

隐蔽持久:恶意脚本藏匿于正常文章内,页面展示无异常,难以排查

传播速度快:一旦有人中招,恶意代码快速扩散,形成跨站脚本蠕虫攻击

可构建攻击链:攻击者借助跨站脚本新增后门管理员账号,搭配过往未修复的文件上传漏洞实现远程代码执行

(四)影响范围:

FOFA 检索语句:icon_hash="-456058901"

据 FOFA 搜索引擎统计,互联网上部署 Emlog 系统的站点数量约 7000 余个,所有使用受漏洞影响版本的网站均存在安全风险。

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

(五)漏洞详情:

漏洞位置:

文件 include/model/log_model.php 第 27 至 28 行,

初始化 Markdown 解析器实例时($this->Parsedown->setpeaksEnabled (true)),未开启安全模式,也未进行转义处理:

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

随后在 include/model/log_model.php文件第34至45行,addlog () 函数直接调用 $db->query () 语句写入数据库,未执行任何处理操作:

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

在 include/model/log_model.php 第 274 行与 content/templates/default/echo_log.php 第 28 行,读取并渲染内容时同样未做任何处理:

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

三、POC概念验证

(1)测试环境

源码版本:Emlog Pro v2.6.14(官方安装包,MD5 值:3600E3994467D5A2840224B5CA30ED1A)

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

运行环境:phpstudy_pro v8.1(PHP 8.0.2 + Apache 2.4.39 + MySQL 5.7)

测试系统:Windows 11 64位系统

复现日期:2026年5月20日

(二)复现步骤

步骤1:注册账号

在网站注册任意账号并完成登录:

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

步骤 2:进入后台发布文章

登录注册账号的后台,发布一篇嵌入恶意 JS 代码的文章:

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

以获取任意用户 Cookie 信息为例,插入恶意代码<script>alert(document.cookie)</script>并发布文章:

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

相关请求数据包如下:

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

步骤 3:等待管理员审核

等待管理员 / 内容编辑审核并通过该文章:

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

亦可无需等待审核,由于管理员能够直接查看文章内容,

可借助评论区、社会工程学等方式将文章链接(本例地址:http://emlog.new.cmd:11123/?post=2)发送给管理员,

管理员访问链接后恶意代码即可触发执行。

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

步骤 4:等待用户访问文章触发恶意代码

文章发布成功后,任意用户访问该文章(http://website/?post=id)便会触发恶意 JS 代码:

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

借助蓝莲花、BeEF 等平台窃取 Cookie,或是开展其他恶意攻击行为。

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

成功获取凭证:

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

步骤 5:后续持续性利用

可利用下述恶意 JS 代码捕获管理员令牌,并创建后门管理员账号:

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

管理员访问博客页面时,恶意代码被触发并创建后门账号。

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

使用创建的后门账号(backdoor@test.com / Pass123!)登录,即可成功获取管理员权限:

EMLOG Pro 2.6.24文章发布漏洞CVE-2026-52520

(四)修复建议:

在 Markdown 内容渲染处开启安全模式:\(this->Parsedown->setSafeMode(true),

同时开启HTML转义功能:\)this->Parsedown->setMarkupEscaped(true)。

提交者声明:

漏洞由安全人员独立发现并在Emlog Pro v2.6.14官方原版环境下完成本地复现测试,测试过程未侵害任何互联网真实业务系统。

已于 2026 年 5 月 20 日提交至国家信息安全漏洞共享平台(CNVD),目前等待分配漏洞编号。

(五)附录 1:

用于创建管理员后门账号的 JS 代码:

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

四、影响范围

EMLOG Pro ≤ 2.6.24

五、修复建议

EMLOG Pro ≥ 2.6.27

六、参考链接

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



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