CVE-2022-44268:ImageMagick任意文件读取漏洞研究
时间:2023-04-06 作者:安帝科技-CSX安全实验室
InHand Networks IR615是中国映翰通(InHand Networks)公司的一款工业路由器。InHand Networks IR615路由器的2.3.0.r4724和2.3.0.r4870固件版本存在命令注入漏洞,该漏洞源于程序缺少对外部提交数据的验证,攻击者可利用该漏洞执行任意系统命令。
Part1 漏洞状态
Part2 漏洞描述
分析环境:
Kalix64
ImageMagick:7.1.0-49-PHP
Part3 漏洞复现
搭建好 ImageMagick环境,运行服务在8080端口,然后浏览器访问。
生成验证文件 python ***.py generate -o exp.png -r /etc/passwd
这里表示,漏洞利用,读取/etc/passwd 的文件内容
上传验证图片
保存Your image下面的图片。
使用脚本解析生成的图片。
得到/etc/passwd文件内容
复现成功!
Part4 漏洞分析/strong>
上传图像以触发图像魔术命令,例如“转换”
ReadOnePNGImage (coders/png.c:2164):
– 读取 tEXt 块:
SetImageProfile (MagickCore/property.c:4360)
检查关键字是否等于“配置文件”:
将文本字符串复制为第 4720 行中的文件名,并将内容保存在第4722 行:
FileToStringInfo 将内容存储到string_info->datum, (MagickCore/string.c:1005):
如果提供了有效(且可访问)的文件名,则内容将返回到调用方函数 (FileToStringInfo),而 StringInfo 对象将返回到 SetImageProperty 函数,从而将 blob 保存到生成的新图像中,这要归功于函数 SetImageProfile:
攻击者可以使用嵌入任意网站文件内容的下载此新图像。
Part5 修复建议
1. 检测上传文件内容;
2. 修复ImageMagick组件到v7.1.51以上版本。
————————————————
获取更多情报
联系我们,获取更多漏洞情报详情及处置建议,让企业远离漏洞威胁。
电话:18511745601
邮箱:shiliangang@andisec.com