Operation on a resource after expiration or release in Linux kernel - CVE-2019-15794
Published: April 24, 2020 / Updated: June 20, 2024
Vulnerability details
The vulnerability allows a local privileged user to execute arbitrary code.
Overlayfs in the Linux kernel and shiftfs, a non-upstream patch to the Linux kernel included in the Ubuntu 5.0 and 5.3 kernel series, both replace vma->vm_file in their mmap handlers. On error the original value is not restored, and the reference is put for the file to which vm_file points. On upstream kernels this is not an issue, as no callers dereference vm_file following after call_mmap() returns an error. However, the aufs patchs change mmap_region() to replace the fput() using a local variable with vma_fput(), which will fput() vm_file, leading to a refcount underflow.
Affected software
Ubuntu
linux-gcp (Ubuntu package)
linux-oracle (Ubuntu package)
linux-hwe (Ubuntu package)
linux (Ubuntu package)
linux-aws (Ubuntu package)
linux-kvm (Ubuntu package)
linux-raspi2 (Ubuntu package)
linux-oracle-5.0 (Ubuntu package)
linux-oem-osp1 (Ubuntu package)
linux-gke-5.0 (Ubuntu package)
linux-aws-5.0 (Ubuntu package)
How to mitigate CVE-2019-15794
linux-oracle (Ubuntu package) - update to 5.0.0-1008.13
linux-hwe (Ubuntu package) - update to 5.0.0-37.40~18.04.1
linux (Ubuntu package) - update to 5.0.0-37.40
linux-aws (Ubuntu package) - update to 5.0.0-1022.25
linux-kvm (Ubuntu package) - update to 5.0.0-1023.25
linux-raspi2 (Ubuntu package) - update to 5.0.0-1023.24
linux-oracle-5.0 (Ubuntu package) - update to 5.0.0-1008.13~18.04.1
linux-oem-osp1 (Ubuntu package) - update to 5.0.0-1030.34
linux-gke-5.0 (Ubuntu package) - update to 5.0.0-1026.27~18.04.2
linux-aws-5.0 (Ubuntu package) - update to 5.0.0-1022.25~18.04.1
Links to Public Exploits and PoC-codes
External References
- https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/eoan/commit/?id=270d16ae48a4dbf1c7e25e94cc3e38b4bea37635
- https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/eoan/commit/?id=ef81780548d20a786cc77ed4203fca146fd81ce3
- https://usn.ubuntu.com/usn/usn-4208-1
- https://usn.ubuntu.com/usn/usn-4209-1