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.
3.13.0-165.2154.4.0-1038.414.15.0-1037.39~14.04.24.4.0-142.168~14.04.14.4.0-142.1684.4.0-1075.854.15.0-1032.34~16.04.14.15.0-1037.39~16.04.14.15.0-1027.28~16.04.14.15.0-45.48~16.04.1Exploitability
AV:LAC:LPR:LUI:NScope
S:UImpact
C:HI:HA:HCVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H