总机:020-87516161 传真:020-87516161-8040
地址:广州市天河北路898号信源大厦3206-3211室 邮编:510660
安全公告编号:CNTA-2016-0033
近日,国家信息安全漏洞共享平台(CNVD)收录了Objective Systems ASN1C堆缓冲区溢出漏洞(CNVD-2016-05147,对应CVE-2016-5080)。未经身份验证的攻击者利用漏洞,通过构造ASN.1数据,可执行任意代码或造成拒绝服务攻击。根据目前评估的潜在影响范围,有可能对通信网络(特别是移动通信)等关键基础设施构成较大的威胁。
一、漏洞情况分析
ASN.1(抽象语法标记)是一个国际标准,是电信领域使用的数据结构和传输协议。ASN1C代码编译器由美国Objective Systems公司推出,帮助开发者将ASN.1数据结构,操作和指令转换为C,C ++,C#或Java代码;ASN1C可嵌入到部署了GSM和LTE网络的移动设备的应用程序中。
包含预编译asn1rt_a.lib库的rtxMemHeapAlloc函数存在两个整数溢出漏洞。由于在rtxMemHeapAlloc中的内存堆(pMemHeap)需要调用tortxMemHeapCreate和rtxMemHeapCheck,nbytes,参数(arg_4)是人为可控的,它的值通过ebp+arg_4传递给ecx ,但程序在执行add ecx 7的时候未验证ecx的值,当ecx值高于0xFFFFFFF9会造成整型溢出。攻击者利用漏洞通过构造的ASN.1数据,可执行任意代码或造成拒绝服务。
CNVD对该漏洞的综合评级为“高危”。
二、漏洞影响范围
漏洞影响ASN1C<=7.0.0的版本。
ASN1C到C和C ++的编译器受该漏洞影响,Objective Systems仍在调查ASN.1到C#和ASN.1到Java的编译器是否受漏洞影响。
目前,根据国外应急组织(US-CERT)和官方厂商的努力,已经尝试联系了34家移动运营商和设备供应商,告知上述问题。目前,只有高通已经确认受到漏洞影响,而霍尼韦尔公司和惠普公司都表示它们没有受到漏洞影响。
三、漏洞修复建议
厂商发布了ASN1C 7.0.1.x版本作为临时修复方案,并计划在未来几周内推出7.0.2版本,完全修复该漏洞。请关注厂商主页更新:
附:参考链接:
https://github.com/programa-stic/security-advisories/tree/master/ObjSys/CVE-2016-5080