In light of Android's mediaserver issues, Google’s latest Android security update focused on flaws related to the operating system's treatment of media files. Android’s current flaws are similar to problems that cropped up with Windows more than a decade ago.
Google addressed seven vulnerabilities as part of this month’s Android security update, released this week. Of the critical vulnerabilities, one was in the libutils component (CVE-2015-6609) near where Stagefright flaws were found over the summer, and the other was in the Android mediaserver component (CVE-2015-6609). They were rated as critical, as they could allow remote code execution when handling malformed media files.
There were three other vulnerabilities related to media processing rated as high. One was in the Stagefright media playback engine (CVE-2015-6610), one in mediaserver (CVE-2015-6611), and one in libmedia component (CVE-2015-6612).
The media processing layer is prone to vulnerabilities and attacks, said Trend Micro’s Christopher Budd. The operating system takes the data from Web services and executes it as a lower-level process, and handling the shift correctly can be tricky. It is easy to introduce mistakes in this layer.
Mediaserver is a core component of the Android operating system, and it interacts with a number of system applications, including MMS and media playback via the browser. Mediaserver has access to audio and video streams, along with privileges that third-party apps cannot normally access, Google said in its advisory.
Considering mediaserver's importance to Android, it is not surprising that researchers are looking at the Stagefright engine and other media libraries more carefully. Increased scrutiny inevitably leads to a higher number of bugs reported and fixed.
The recent wave of media-related vulnerabilities is reminiscent of similar events with Windows, Budd said. Windows faced the same challenges in determining how to safely play media files received from a variety of sources.
Trend Micro reported two “high” vulnerabilities found in the same area as Stagefright vulnerabilities, but in different classes. Unlike Stagefright, which was a remote code execution flaw, these were information disclosure and privilege escalation flaws. While these bugs on their own would not result in code execution, they could potentially be chained with other flaws to give attackers access to the device.
The critical libutils flaw turned out to be an integer overflow that could lead to a heap overflow in the library’s Vector container. The attacker could potentially trigger the bug by using a high enough input value for the length of an item in memory and gain write access anywhere within. This flaw was similar to two other issues in the libutils library fixed in last month’s update.
“The libutils vulnerabilities are very serious as they allow an attacker to gain code execution where they’re used with untrusted input,” said Cooperhead Security’s Daniel Micay, who reported the flaw. Though the vulnerability is in libutils, it could be exposed via libstagefright, and if a mediaserver process that uses libstagefright executes the vulnerable code, then it becomes a remote code execution attack. Potential attack vectors include media playing in the Web browser and MMS messages. Mediaserver also automatically scans and analyzes all media files in Android’s shared storage area, meaning downloaded media files on the device could trigger an attack.
Sign up for CIO Asia eNewsletters.