CVE-2015-9185 in Androidinfo

Summary

by MITRE

In Android before 2018-04-05 or earlier security patch level on Qualcomm Snapdragon Automobile, Snapdragon Mobile, and Snapdragon Wear MDM9206, MDM9650, SD 210/SD 212/SD 205, SD 410/12, SD 425, SD 430, SD 450, SD 600, SD 615/16/SD 415, SD 617, SD 625, SD 650/52, SD 800, SD 808, SD 810, SD 820, SD 820A, SD 835, SD 845, and SD 850, in multiple Secure DEMUX functions (e.g., SDMX_open_session, SDMX_close_session, SDMX_set_session_cfg), when parameter validation fails, an error code is written into a response buffer, without checking that response buffer length (rsplen) passed from HLOS is large enough to hold the response. If the buffer is at the end of a non-secure page followed by secured memory page, this can cause a secure memory corruption.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 01/26/2020

This vulnerability exists in Qualcomm Snapdragon automotive and mobile platforms running Android versions prior to the 2018-04-05 security patch level. The flaw resides in multiple Secure DEMUX functions including SDMX_open_session, SDMX_close_session, and SDMX_set_session_cfg within the secure execution environment. The vulnerability stems from inadequate parameter validation mechanisms where error codes are written to a response buffer without verifying that the buffer length specified by the HLOS (Host Linux Operating System) is sufficient to accommodate the response data. This fundamental flaw creates a potential for memory corruption when the response buffer is positioned at the boundary between a non-secure page and a secure memory page, allowing unauthorized modification of protected memory regions.

The technical implementation of this vulnerability involves the Secure DEMUX subsystem which handles secure communication between the trusted execution environment and the normal world. When parameter validation fails within these functions, the system attempts to write an error code into a response buffer without performing bounds checking against the rsplen parameter provided by the HLOS. This parameter specifies the maximum length of the response buffer, but the code fails to validate whether this length is adequate for the error code being written. The specific conditions that trigger this vulnerability occur when the response buffer is allocated at the end of a non-secure memory page, with the subsequent memory page being secured, creating a scenario where buffer overflow can cross memory protection boundaries.

The operational impact of this vulnerability is severe as it enables potential attackers to corrupt secure memory regions through controlled parameter manipulation. The vulnerability is classified under CWE-129 as "Improper Validation of Array Index" and represents a memory safety issue that can be exploited to gain unauthorized access to secure memory areas. Attackers could leverage this weakness to execute arbitrary code within the secure execution environment, potentially compromising the integrity of the entire automotive or mobile platform. The vulnerability affects a wide range of Qualcomm Snapdragon chipsets including the MDM9206, MDM9650, and various SD series processors, making it particularly dangerous given the widespread adoption of these platforms in automotive systems and mobile devices.

The exploitation of this vulnerability requires an attacker to manipulate the parameter validation flow within the Secure DEMUX functions, specifically targeting the buffer length validation mechanism. According to ATT&CK framework, this vulnerability aligns with techniques involving privilege escalation and memory corruption, potentially enabling attackers to move from a non-secure context to a secure execution environment. The security implications extend beyond simple memory corruption as it could allow for complete compromise of the device's secure boot process and trusted execution environment. Mitigation strategies should include immediate deployment of the Android security patches released in April 2018, implementation of proper buffer length validation checks, and enhanced memory boundary verification within the Secure DEMUX subsystem. Additionally, system architects should consider implementing memory protection mechanisms that prevent cross-boundary memory access patterns and ensure that secure and non-secure memory regions maintain proper isolation boundaries.

Reservation

08/16/2017

Disclosure

04/18/2018

Moderation

accepted

CPE

ready

EPSS

0.01193

KEV

no

Activities

very low

Sources

Interested in the pricing of exploits?

See the underground prices here!