First published: Fri Oct 16 2015(Updated: )
A vulnerability in the Linux kernel's keyrings garbage collector allowing any local user account to trigger a kernel panic. Problem arrises when using request_key() or keyctl request2. This code sequence tries to invoke an upcall to instantiate a keyring if one doesn't already exist by that name within the user's keyring set. However, if the upcall fails, the code sets keyring->type_data.reject_error to -ENOKEY or some other error code. When the key is garbage collected, the key destroy function is called unconditionally and keyring_destroy() uses list_empty() on keyring->type_data.link - which is in a union with reject_error. Subsequently, the kernel tries to unlink the keyring from the keyring names list, which leads to an oops.
Credit: secalert@redhat.com secalert@redhat.com
Affected Software | Affected Version | How to fix |
---|---|---|
Linux Linux kernel | <=4.2.6 | |
Google Android | ||
debian/linux | 5.10.223-1 5.10.226-1 6.1.115-1 6.1.119-1 6.11.10-1 6.12.5-1 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2015-7872 is a vulnerability in the Linux kernel that allows local users to cause a denial of service (OOPS) via crafted keyctl commands.
CVE-2015-7872 has a severity level of high (7 out of 10).
To fix CVE-2015-7872, you should update your Linux kernel to version 4.3~ or higher.
Linux kernel versions up to and including 4.2.6 are affected by CVE-2015-7872.
You can find more information about CVE-2015-7872 on the following websites: [SecurityTracker](http://www.securitytracker.com/id/1034472), [SecurityFocus](http://www.securityfocus.com/bid/77544), [Debian](http://www.debian.org/security/2015/dsa-3396).