漏洞预警 | FFmpeg曝任意文件读取漏洞

最近有白帽在HackerOne平台上报了ffmpeg漏洞,该漏洞利用ffmpeg的HLS播放列表处理方式,可导致本地文件曝光。
漏洞描述
6月24日,HackerOne平台名为neex的白帽子针对俄罗斯最大社交网站VK.com上报了该漏洞,并因此获得1000美元奖金。
ffmpeg可处理HLS播放列表,而播放列表中已知可包含外部文件的援引。neex表示他借由该特性,利用avi文件中的GAB2字幕块,可以通过XBIN codec获取到视频转换网站的本地文件。
6月25日,另一位白帽子Corben Douglas (@sxcurity)表示他在看过neex的报告后进一步研究了ffmpeg,他针对发现的漏洞写了完整的重现过程,利用包含外部文件援引的HLS播放列表,导致可任意读取本地文件。

漏洞预警 | FFmpeg曝任意文件读取漏洞_第1张图片
2098098172.jpg

影响范围
漏洞盒子技术人员测试发现,FFmpeg 3.2.2、3.2.5和2.6.8版本均存在该漏洞,其它版本未经系统性测试,请按漏洞检测脚本进行自行排查。
漏洞盒子技术人员表示,该漏洞可导致读取本地任意文件,危害较大。经研究人员验证,Google,Yahoo,Youtube等门户、视听网站以及支持流转码服务的业务已被曝出存在该漏洞。国内支持流转码的网站也可能有存在该漏洞的风险,请速排查。
漏洞重现

  1. 下载脚本 https://github.com/neex/ffmpeg-avi-m3u-xbin/blob/master/gen_xbin_avi.py
  2. 运行脚本:python3 gen_xbin_avi.py file:///etc/passwd sxcurity.avi
  3. 访问https://arxius.io,上传sxcurity.avi
  4. 等待上传处理视频
  5. 录像处理完成后,点击播放就可以看到/etc/passwd的内容

示例:
显示/etc/passwd内容 : https://arxius.io/v/6c7d9a96
显示/etc/issue内容: https://arxius.io/v/5471dfe6

展示利用成功效果
点此下载已经处理的avi文件

修复方案

1.请升级受影响版本至FFmpeg 3.3.2版本
2.将file://等危险协议类型添加到黑名单

你可能感兴趣的:(漏洞预警 | FFmpeg曝任意文件读取漏洞)