The July Android Security bulletin provides 108 patches and debuts a new model for patch updates.
Google released its largest Android security update ever, with Qualcomm driver-related flaws topping the list of 108 different vulnerabilities. The July Android update far exceeds any past Android update in terms of the total number of vulnerabilities, and it introduces a new two bundle patch set approach to help accelerate the overall patching process.
The July Android patches follow the June update that only patched 40 issues in Google’s mobile operating system. Prior to the July update, Google had patched 163 issues in Android in 2016; with the July patches, the 2016 total is now 271.
Google has been issuing monthly patch updates for Android since August 2015 in a single stream of updates. With the July update, Google is moving to a dual-mode patch level for Android, with each level representing a different amount of compliance with patching.
“This bulletin has two security patch level strings in order to provide Android partners with the flexibility to move more quickly to fix a subset of vulnerabilities that are similar across all Android devices,” Google stated in the July Android security bulletin.
The different patch levels are identified by date, with the July 1, 2016, patch level representing a partial level of patching for the most immediate issues that impact Android broadly. The July 5, 2016, patch level is what Google is now calling a “complete security patch level string” and includes all the items in the July 1, 2016, patch string, with additional items that don’t necessarily have a direct immediate impact on all Android devices.
For the July 1 patch set, Google has identified eight vulnerabilities as critical. Seven of the critical vulnerabilities in the July 1 patch set are remote code execution vulnerabilities in Android’s much maligned media server. Additionally, there are seven flaws in the media server rated as high impact and three more rated as moderate impact. The media server component is in the same part of the Android operating system as the libstagefright media server that was first exposed to risk in July 2015 and has been patched in every Google update since August 2015.
The other critical patch in the July 1 patch set, identified as CVE-2016-2108, is a remote code execution vulnerability in OpenSSL and BoringSSL. BoringSSL is Google’s own implementation of the OpenSSL cryptographic library and was first announced in June 2014 in the aftermath of the Heartbleed vulnerability in OpenSSL.
In the July 5 patch set, Google rated 12 vulnerabilities as critical. Three of the critical issues (CVE-2016-2503, CVE-2016-2067 and CVE-2016-3768) are privilege escalation flaws in Qualcomm drivers.
In contrast, in the June update, Google patched six critical flaws in Qualcomm drivers. Looking beyond the critical July issues, Google has rated 36 vulnerabilities as having high impact in various Qualcomm components. Among the high-impact Qualcomm flaws is CVE-2016-2068, a privilege escalation vulnerability in Qualcomm’s sound driver. CVE-2016-3797 is another high impact flaw and it affects Qualcomm WiFi networking drivers.
“An elevation of privilege vulnerability in the Qualcomm WiFi driver could enable a local malicious application to execute arbitrary code within the context of the kernel,” Google warns in its security bulletin.
Although Qualcomm drivers make up a large component of the July 5 patch set, MediaTek is also well represented. There are six critical privilege escalation flaws in MediaTek drivers, as well as nine flaws rated moderate.
The other critical vulnerabilies that Google fixed in the July 5 patch set include privilege escalation flaws in the Nvidia video driver (CVE-2016-3769), USB drivers (CVE-2015-8816) and the kernel file system (CVE-2016-3775).