EMLOG Pro 2.4.1 plugin.php 跨站点脚本CVE-2024-12845
EMLOG 是一款轻量级开源博客和CMS建站系统,致力于打造快速、稳定,而且在使用上又极其简单、舒适的内容创作及站点搭建程序。
EMLOG 是基于PHP和MySQL的轻量级博客及CMS建站系统,是采用Markdown语法编辑器的内容创作工具,拥有丰富主题、插件生态。
一、基本情况
EMLOG Pro作为一款开源的CMS系统,因其强大的功能和灵活的扩展性受到广大开发者青睐,速度快、省资源,适合各种规模站点搭建。
栋科技漏洞库关注到EMLOG Pro的跨站脚本攻击漏洞,影响 EMLOG Pro 2.4.0 和 2.4.1 版本,追踪为CVE-2024-12845,CVSS评分3.5。
二、漏洞分析
CVE-2024-12845漏洞影响 EMLOG Pro 库中的未知功能/include/lib/common.php,攻击者可通过操纵参数msg,从而导致跨站脚本攻击。
具体而言,该漏洞是由于/include/lib/common.php 中的 $msg 参数清理不当而导致,漏洞源于对 $msg 中 SQL 语句错误消息的过滤不当。
攻击者可利用该漏洞将恶意脚本注入 Web 应用程序,然后在其他用户的浏览器中执行该脚本:
三、漏洞复现
例如,/admin/navbar.php文件中newtab期望的是整数类型的数据,如果接收到字符串类型的数据,就会触发错误。
错误消息可以包含整个 SQL 语句,如果 SQL 语句包含接受用户传入的数据的任何字段,则可能会出现反射型 XSS 漏洞。
在示例中,参数 naviname 和 url 传入字段在 SQL 语句中表示。
1、POC 1
ps:当然newtab可以自己触发。只需将其分配给<svg%20onload=alert(2)>
2、POC 2
四、影响范围
2.4.0 <= EMLOG Pro <= 2.4.1
五、修复建议
EMLOG Pro >= 2.4.3
六、参考链接