The init_new_context function in arch/x86/include/asm/mmu_context.h in the Linux kernel before 4.12.10 does not correctly handle errors from LDT table allocation when forking a new process, allowing a local attacker to achieve a use-after-free or possibly have unspecified other impact by running a specially crafted program. This vulnerability only affected kernels built with CONFIG_MODIFY_LDT_SYSCALL=y.
The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.
Link | Tags |
---|---|
http://www.securityfocus.com/bid/102010 | vdb entry third party advisory |
https://github.com/torvalds/linux/commit/ccd5b3235180eef3cfec337df1c8554ab151b5cc | third party advisory patch |
https://access.redhat.com/errata/RHSA-2018:0676 | third party advisory vendor advisory |
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.12.10 | issue tracking vendor advisory |
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=ccd5b3235180eef3cfec337df1c8554ab151b5cc | issue tracking patch vendor advisory |