2019年10月14日,国家信息安全漏洞共享平台(CNVD)收录了由腾讯安全玄武实验室报送的Android-gif-Drawable开源库远程代码执行漏洞(CNVD-2019-35254)。攻击者利用该漏洞,可在未授权的情况下,在用户终端上远程执行代码或导致应用拒绝服务。目前厂商已发布补丁完成修复,漏洞相关细节已公开,漏洞影响范围和危害较大。
一、漏洞情况分析
Android-gif-Drawable是用于Android系统进行GIF图像解析的开源库(以下简称GIF开源库)。GIF开源库通过JNI捆绑Giflib的方式对帧数进行渲染,与WebView类和Movie类相比渲染效率较高,因此得到了广泛应用。
2019年5月,安全研究人员发现Android版本的WhatsApp(2.19.244版本之前)存在内存重复释放漏洞(CVE-2019-11932,对应CNVD-C-2019-144833),攻击者通过向WhatsApp用户发送一个精心制作的恶意GIF文件,就可以获得WhatsApp的应用权限,在手机端进行SD卡读取、音频录制、摄像头访问、文件系统访问、WhatsApp沙盒存储访问等操作。
腾讯安全玄武实验室研究发现,上述漏洞是由GIF开源库导致的。凡使用该GIF开源库进行GIF图像解析的安卓应用(APP)都可能受此漏洞影响。攻击者通过向受影响的APP用户远程发送恶意GIF文件,可在目标设备的APP应用权限环境下执行任意代码(安卓8.0版本及以上)或导致应用拒绝服务(安卓8.0版本以下)。
CNVD对该漏洞的综合评级为“高危”。
二、漏洞影响范围
漏洞影响情况如下:
使用Android-gif-Drawable库进行GIF图像处理,且Android-gif-Drawable库版本在1.2.18以下的安卓APP受此漏洞影响。iOS应用不受此漏洞影响。
腾讯安全玄武实验室阿图因系统分析结果显示,该GIF开源库被大量安卓APP使用,全球范围内43619个使用该GIF开源库开发的安卓APP可能受此漏洞影响。
三、漏洞修复建议
GIF开源库已发布新版本(1.2.18)修复此漏洞,CNVD建议:
1、开发人员对使用的GIF开源库版本进行全面排查,发现问题后及时安装Android-gif-Drawable开源库更新应用补丁(https://github.com/koral--/android-gif-drawable/pull/673/commits/4944c92761e0a14f04868cbcf4f4e86fd4b7a4a9),或整体替换至最新版本(https://github.com/koral--/android-gif-drawable/releases/tag/v1.2.18),并向用户及时推送新版本的APP。
2、用户使用手机端APP时,不要浏览和存储来历不明的GIF文件。