CONFIG_STRICT_MEMORY_RWX is not strictly enforced (CVE-2013-4737)

Release Date: 
September 5, 2013
Advisory ID: 
QCIR-2013-00006-1
Summary: 

The following security vulnerability has been identified in the implementation of the CONFIG_STRICT_MEMORY_RWX feature.

CVE-2013-4737:
If CONFIG_STRICT_MEMORY_RWX is set, the first section (containing the kernel page table and the initial code) and the section containing the init code are both given RWX permission. This effectively bypasses the intention of this this feature and eases exploitation of kernel vulnerabilities by providing readable, writeable and executable memory at a known location.

Access Vector: local/remote
Security Risk: high
Vulnerability: weaknesses that affect memory (CWE-633)

Affected versions
All Android releases from CAF using the Linux kernel from the following heads:

  • msm-3.*
  • jb*
  • ics*

Note:
Because the patch is making use of additional padding of the memory sections, it results in approximately using 1900kB additional memory for the kernel.

Acknowledgement: 

Qualcomm Innovation Center, Inc. (QuIC) thanks Georg Wicherski of CrowdStrike for reporting the related issues and working with QuIC to help improve Android device security.

Revisions: 

Initial revision

Contact: 
security-advisory@quicinc.com