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):
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
- CVE-2016-6725: https://www.codeaurora.org/gitweb/quic/la/?p=kernel/msm-3.18.git;a=commit;h=a8bfc6888280ac70c9c13b1802c1e962522714a4
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.