Uninitialized Channel Map Array Can Leak Data to User Space in qdsp6v2 Driver (CVE-2016-5347)
Release Date:
April 17, 2017
Affected Projects:
Android for MSMFirefox OS for MSMQRD Android
Advisory ID:
QCIR-2017-00022-1
CVE ID(s):
Summary:
The following security vulnerabilities have been identified: CVE-2016-5347 The function msm_qti_pp_get_channel_map_mixer() introduces channel_map[PCM_FORMAT_MAX_NUM_CHANNEL] that is not initialized. In adm_get_multi_ch_map() is a memcpy() call that copies data to channel_map. However, this is only done if set_channel_map is true that is mostly not the case and hence, adm_get_multi_ch_map() will just return 0 without copying anything to channel_map. Afterwards, the uninitialized channel_map is copied to user space. This can leak kernel stack data to user space.
Access Vector: Local
Security Risk: Medium
Access Vector: Local
Affected Versions:
All Android releases from CAF using the Linux kernel.
Patch:
We advise customers to apply the following patches:
Individual Patches
CVE-2016-5347:
- https://source.codeaurora.org/quic/la//kernel/msm-3.18/commit/?id=ed4d6f5d8451d99860950d0abf8ad583efed6d5c
- https://source.codeaurora.org/quic/la//kernel/msm-4.4/commit/?id=f14390f13e62460fc6b05fc0acde0e825374fdb6
Acknowledgement:
Qualcomm Innovation Center, Inc. (QuIC) thanks Seven Shen (Trend Micro Mobile Threat Research Team) for bringing this issue to QuIC's attention.
Revisions:
Initial revision