首页 网络安全 正文

EMLOG Pro 2.6.8 评论模块漏洞CVE-2026-34229

摘要

栋科技漏洞库关注到EMLOG Pro 2.6.8 之前版本评论模块存储型 XSS 漏洞,该漏洞现已追踪为CVE-2026-34229,CVSS 3.1评分6.1。

EMLOG Pro 是一款面向轻量化建站需求的 PHP 博客系统,走极简内核 + 灵活扩展路线,不追求大而全,只专注稳定、快速、易维护。

一、基本情况

EMLOG Pro 是开源的 PHP 博客与个人网站建站系统,代码干净,加载速度快,低配服务器也能流畅运行,对新手和老站长都很友好。

EMLOG Pro 2.6.8 评论模块漏洞CVE-2026-34229

EMLOG Pro 的模板与插件生态轻量化,修改成本低,适合二次开发,既能做纯粹个人博客,也能改成小型资讯站、笔记站或单页官网。

栋科技漏洞库关注到EMLOG Pro 2.6.8 之前版本评论模块存储型 XSS 漏洞,该漏洞现已追踪为CVE-2026-34229,CVSS 3.1评分6.1。

二、漏洞分析

CVE-2026-34229 漏洞存在于 EMLOG Pro 受影响版本在其评论模块中,程序对用户提供的 URI(个人主页链接)校验逻辑存在缺陷。

由于程序对用户提供的 URI 校验逻辑存在缺陷,可利用特定的 URI Scheme 绕过过滤机制将恶意的 JavaScript 伪协议注入到数据库中。

攻击者利用特定 URI Scheme 绕过过滤机制,将恶意的 JavaScript 伪协议注入到数据库中,这一存储型 XSS 漏洞绕过 URI 协议校验。

EMLOG Pro 2.6.7 评论功能的系统 UBB 解析引擎(或自动链接转换逻辑)会自动将用户文本中符合 URL 格式字符串渲染为 <a> 标签。

虽然系统在处理过程中对评论内容执行了 HTML 实体转义(如 htmlClean 函数调用的 htmlspecialchars),

但在最终生成超链接时,未对 URI scheme(协议头)进行安全白名单校验。

攻击者可以通过提交带有 javascript: 伪协议的字符串,将恶意 JavaScript 代码注入到 <a> 标签的 href 属性中。

由于该注入发生在属性值内部且不依赖于 < 或 > 等特殊标签字符,因此能够完美绕过常规的 HTML 过滤机制,导致存储型 XSS 漏洞。

攻击者通过发表带有恶意链接的评论,受害者(管理员)浏览评论页面时会触发脚本执行,导致会话盗取、后台配置篡改或网站挂马。

三、POC概念验证

1、提交恶意评论

攻击者提交

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

2、系统渲染

提交后,系统后端逻辑(include/lib/common.php 中的 parseUBB 函数)将其识别为合法链接,并在页面源码中渲染为如下结构:

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

3、漏洞证明

恶意代码已成功脱离文本上下文,被作为可执行的 URI 注入到了 DOM 树的属性节点中。

后台触发:管理员在后台审核评论时,该代码已存在于源码中。

交互执行:

当管理员或用户在特定环境(如 Firefox 浏览器,或在 Chrome 中右键选择“在此窗口打开”)点击该链接时,恶意脚本将立即执行。

EMLOG Pro 2.6.8 评论模块漏洞CVE-2026-34229

这足以证明攻击者可以实现会话劫持(Hijacking Session)或敏感信息窃取。

4、漏洞成因代码分析

include/lib/common.php 中,parseUBB 函数使用如下正则进行替换:

'/\[url\](.*?)\[\/url\]/is' => '<a href="$1" target="_blank" rel="nofollow">$1</a>'

该正则表达式仅执行了贪婪匹配和替换,完全缺失了对 $1 变量(即 URL 路径)的协议头检查。

5、修复建议

建议在执行超链接转换的正则匹配或函数逻辑中,增加对协议头的严格限制:

(1)协议白名单:仅允许 http://, https://, mailto: 等安全协议。

(2)非法协议拦截:强制丢弃或转义以 javascript:, data:, vbscript: 等伪协议开头的输入。

(3)属性二次转义:确保在拼接进入 href 属性前,对变量执行严格的 URL 编码或属性编码。

四、影响范围

EMLOG Pro < 2.6.8

五、修复建议

EMLOG Pro >= 2.6.9

六、参考链接

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



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