Integer overflow vulnerability in qcrypto driver (CVE-2016-6725)

Release Date:

November 29, 2016

Affected Projects:

Android for MSMFirefox OS for MSMQRD Android

Advisory ID:

QCIR-2016-00063-1

CVE ID(s):

CVE-2016-6725

Summary:

The following security vulnerabilities have been identified: CVE-2016-6725 QCrypto:_qcrypto_process_aead() integer overflow check is invalid when ULONG_MAX is used, as ULONG_MAX has typeof 'unsigned long', while req->assoclen, req->cryptlen, and qreq.ivsize are 'unsigned int', so less memory will be allocated than expected, and heap overwrite may happen in the following memory access.

Access Vector: Network
Security Risk: Critical
Access Vector: Network

Affected Versions:

All Android releases from CAF using the Linux kernel.

Patch:

We advise customers to apply the following patches:

Individual Patches

Acknowledgement:

This issue was reported to Google by Gengjia Chen (@chengjia4574) and pjf (weibo.com/jfpan) of IceSword Lab, Qihoo 360. Qualcomm Innovation Center, Inc. (QuIC) thanks Google for bringing this issue to QuIC's attention.

Revisions:

Updated revision. Updated acknowledgment section on Dec. 6, 2016.

Contact:

security-advisory@quicinc.com