### [CVE-2018-18281](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-18281) ![](https://img.shields.io/static/v1?label=Product&message=n%2Fa&color=blue) ![](https://img.shields.io/static/v1?label=Version&message=n%2Fa&color=blue) ![](https://img.shields.io/static/v1?label=Vulnerability&message=n%2Fa&color=brighgreen) ### Description Since Linux kernel version 3.2, the mremap() syscall performs TLB flushes after dropping pagetable locks. If a syscall such as ftruncate() removes entries from the pagetables of a task that is in the middle of mremap(), a stale TLB entry can remain for a short time that permits access to a physical page after it has been released back to the page allocator and reused. This is fixed in the following kernel versions: 4.9.135, 4.14.78, 4.18.16, 4.19. ### POC #### Reference - http://packetstormsecurity.com/files/150001/Linux-mremap-TLB-Flush-Too-Late.html - http://packetstormsecurity.com/files/150001/Linux-mremap-TLB-Flush-Too-Late.html #### Github - https://github.com/ARPSyndicate/cvemon - https://github.com/jiayy/android_vuln_poc-exp - https://github.com/kdn111/linux-kernel-exploitation - https://github.com/khanhdn111/linux-kernel-exploitation - https://github.com/khanhdz-06/linux-kernel-exploitation - https://github.com/khanhdz191/linux-kernel-exploitation - https://github.com/khanhhdz/linux-kernel-exploitation - https://github.com/khanhhdz06/linux-kernel-exploitation - https://github.com/khanhnd123/linux-kernel-exploitation - https://github.com/knd06/linux-kernel-exploitation - https://github.com/ndk191/linux-kernel-exploitation - https://github.com/ssr-111/linux-kernel-exploitation - https://github.com/xairy/linux-kernel-exploitation