vendor:
GeForce driver
by:
ianbeer
7.8
CVSS
HIGH
Use-After-Free
416
CWE
Product Name: GeForce driver
Affected Version From: N/A
Affected Version To: N/A
Patch Exists: NO
Related CWE: N/A
CPE: N/A
Metasploit:
N/A
Other Scripts:
N/A
Platforms Tested: MacOS
2020
MacOS kernel UAF due to lack of locking in nvidia GeForce driver
nvDevice::SetAppSupportBits is external method 0x107 of the nvAccelerator IOService. It calls task_deallocate without locking. Two threads can race calling this external method to drop two task references when only one is held. Note that the repro forks a child which give the nvAccelerator a different task otherwise the repro is more likely to leak task references than panic.
Mitigation:
Ensure that the nvAccelerator IOService is properly locked when calling the nvDevice::SetAppSupportBits external method.