CVE-2015-7872: Input Validation
A vulnerability in the Linux kernel's keyrings garbage collector allowing any local user account to trigger a kernel panic.
Problem arrises when using requestkey() 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->typedata.rejecterror to -ENOKEY or some other error code. When the key is garbage collected, the key destroy function is called unconditionally and keyringdestroy() uses listempty() on keyring->typedata.link - which is in a union with rejecterror. Subsequently, the kernel tries to unlink the keyring from the keyring names list, which leads to an oops.
Other sources
The keygcunusedkeys function in security/keys/gc.c in the Linux kernel through 4.2.6 allows local users to cause a denial of service (OOPS) via crafted keyctl commands.
— Launchpad
Affected Software
Remediation
Event History
Frequently Asked Questions
What is CVE-2015-7872?
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.
What is the severity of CVE-2015-7872?
CVE-2015-7872 has a severity level of high (7 out of 10).
How can I fix CVE-2015-7872?
To fix CVE-2015-7872, you should update your Linux kernel to version 4.3~ or higher.
Which Linux kernel versions are affected by CVE-2015-7872?
Linux kernel versions up to and including 4.2.6 are affected by CVE-2015-7872.
Where can I find more information about 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).