Vulnerabilities in the IntelHD5000 kernel extension used in Apple OSX 10.13 could be exploited for privilege escalation, Cisco Talos security researchers have discovered.
The use-after-free memory corruption issues exist in the kernel extension when dealing with graphics resources inside of macOS High Sierra. Exploitation of the vulnerabilities would require for a library to be inserted into the VLC media application to cause an out-of-bounds access inside of the KEXT (Kernel Extension).
Apple’s macOS platform supports multiple different GPU versions with different kernel extensions available to ensure proper interaction between user space and the kernel.
With the retina MacBook Pro shipped with an Apple Intel HD 5000 processor, the respective kernel extension is used in graphics rendering and processing. The extension, however, is subject to a use-after-free privilege escalation vulnerability, Talos says.
Tracked as CVE-2018-4456 and CVE-2018-4421, the flaws are also reachable from inside the Safari sandbox, which means that the attack surface is potentially much larger, the security researchers say. They also claim to have discovered a third issue, but no CVE number has been assigned yet.
The kernel extension uses “a restricted subset language and a unique way of communication between userspace and the kernel known as IOKit,” Talos explains. While an IOKit extension registers its own methods to handle user interaction, various types can be passed in to connect to different UserClients stored under the same umbrella name.
The vulnerabilities are basically the same, with the main difference between them being the values that can be replaced and the values they can be replaced with.
The execute function handling the data buffers attains and accesses an object, but also checks that the data is not null. If the check fails, the resource object is accessed again and a new value is returned and then used directly without any further verification.
“This object is a reference to the object passed into delete above, creating a use-after-free scenario. This can be leveraged by an attacker to execute arbitrary code in the context of the kernel. The attacker also has a large window of time to set up the attack as the execute function above is actually triggered from user space as well,” the security researchers explain.
The issues were found in Apple OS X 10.13.4 running on MacBookPro11.4. Patches were released in early December 2018.
“As this vulnerability can be triggered potentially via the Safari web browser, it’s always important for users to understand that impacted software, drivers and libraries are widely used throughout an operating system’s own ecosystem,” Talos concludes.