# librsvg XInclude 文件包含漏洞(CVE-2023-38633) librsvg是一个用于处理SVG图片的开源依赖库。 librsvg支持XML中的XInclude规范,可以用于加载外部内容。在librsvg 2.56.3版本以前,由于处理路径存在逻辑错误,导致攻击者可以传入一个恶意构造的SVG图片,进而读取到任意文件。 参考链接: - - ## 漏洞环境 执行如下命令启动一个PHP服务器,其中使用librsvg 2.50.7将用户上传的SVG图片转换成PNG图片并返回: ``` docker compose up -d ``` 环境启动后,访问`http://your-ip:8080`即可查看到上传页面。 ## 漏洞复现 将路径嵌入到``标签中,如下POC: ```xml file not found ``` 上传这个SVG图片,即可查看到`/etc/passwd`已被成功读取并渲染进PNG图片中: ![](1.png)