iOS 第三方解压缩库 0-Day 预警
0x00 背景
今年 5 月 15 日傍晚盘古团队披露了 ZipperDown 漏洞[1],其中涉及到的主要的第三方解压缩库为 ZipArchive[2]。我们团队主要负责公司内 iOS App 的安全,因此为了更快的推进漏洞修复,我们连夜为这个漏洞编写了补丁,并在 16 日上午向官方的代码库提交了 Pull Request[3]。这个补丁主要处理了 Zip 包中的相对路径及软链接问题。由于时间紧,该补丁并没有考虑接口兼容性问题,但是作为修复漏洞的参考,已经包含了足够的信息。 几天前,收到了 Pull Request 关闭的邮件通知[4]:
0x01 漏洞描述
ZipArchive 库没有安全的处理 Zip 包中的软链接,存在路径穿越漏洞。 Zip 包的构造方法:1、首先,向 Zip 文件中添加一个软链接 PDIR,指向 ../。 2、然后,向 Zip 中添加文件,文件名为:PDIR/XXX。 这样在解压缩时 XXX 文件会被解压到 PDIR 指向的目录,通过组合 PDIR 可以实现任意级别的穿越。 PoC 地址: https://github.com/Proteas/ZipArchive-Dir-Traversal-PoC运行 PoC 后的效果如下:

0x02 漏洞危害
像 ZipperDown 一样,路径穿越本身只会造成文件覆盖,但是结合 App 中的其他缺陷可能造成远程任意代码执行。0x03 修复建议
参考补丁[3] 进行修复0x04 参考
- ZipperDown 漏洞:https://zipperdown.org/
- ZipArchive 库:https://github.com/ZipArchive/ZipArchive
- 参考补丁:https://github.com/ZipArchive/ZipArchive/pull/454/files
- 开发者不处理软链接的原因:https://github.com/ZipArchive/ZipArchive/pull/454
- PoC: https://github.com/Proteas/ZipArchive-Dir-Traversal-PoC
0x05 时间线
2018-05-15 ZipperDown披露 2018-05-16 Nirvan Team提交补丁2018-08-30 Nirvan Team披露软连接路径穿越漏洞 0x06 参考链接
1、ZipperDown 漏洞 https://zipperdown.org/ 2、ZipArchive 库 https://github.com/ZipArchive/ZipArchive 3、参考补丁 https://github.com/ZipArchive/ZipArchive/pull/454/files 4、开发者不处理软链接的原因 https://github.com/ZipArchive/ZipArchive/pull/454 5、PoC https://github.com/Proteas/ZipArchive-Dir-Traversal-PoC关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 植树就是植未来 7944512
- 2 DeepSeek眼中不会被AI替代的职业 7939918
- 3 杨铭宇黄焖鸡致歉 7890361
- 4 哪些行业人才火爆就业市场 7766255
- 5 曹德旺说学校获批压力巨大 7647720
- 6 卢森堡王子因罕见病去世 年仅22岁 7507523
- 7 六旬教授考核不合格怒发“罪己诏” 7469236
- 8 女主播被王思聪嘲地摊货高情商回应 7332300
- 9 女子760万买二手房 住1年才知是凶宅 7249571
- 10 老外扮熊猫看成都熊猫 7121830