CVE-2018-18397 Missing authorization in n/a
Local users can write data to holes in read-only tmpfs files due to improper access control in the Linux kernel userfaultfd implementation.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2018-18397?
CVE-2018-18397 is a medium-severity missing authorization vulnerability in Canonical Ubuntu Linux, published on 12 Dec 2018. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
The userfaultfd implementation in the Linux kernel before 4.19.7 mishandles access control for certain UFFDIO_ ioctl calls, as demonstrated by allowing local users to write data into holes in a tmpfs file (if the user has read-only access to that file, and that file contains holes), related to fs/userfaultfd.c and mm/userfaultfd.c.
Weakness: CWE-863
Which versions are affected by CVE-2018-18397?
It affects 10 products.
Linux distribution packages (40)
kernel Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
kernel-abi-whitelists Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
kernel-debug Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
kernel-debug-debuginfo Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
kernel-debug-devel Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
kernel-debuginfo Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
kernel-debuginfo-common-x86_64 Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
kernel-devel Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
kernel-doc Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
kernel-headers Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
kernel-tools Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
kernel-tools-debuginfo Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
kernel-tools-libs Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
kernel-tools-libs-devel Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
perf Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
perf-debuginfo Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
python-perf Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
python-perf-debuginfo Red Hat:rhel_eus:7.4::computenode | All versions | 0:3.10.0-693.44.1.el7 |
kernel Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-abi-whitelists Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-bootwrapper Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-debug Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-debug-debuginfo Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-debug-devel Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-debuginfo Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-debuginfo-common-ppc64 Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-debuginfo-common-ppc64le Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-debuginfo-common-s390x Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-debuginfo-common-x86_64 Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-devel Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-doc Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-headers Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-kdump Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-kdump-debuginfo Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-kdump-devel Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-tools Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-tools-debuginfo Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-tools-libs Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
kernel-tools-libs-devel Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
perf Red Hat:rhel_eus:7.4::server | All versions | 0:3.10.0-693.44.1.el7 |
Products include Canonical Ubuntu Linux, Linux kernel, Redhat Enterprise Linux Desktop, Redhat Enterprise Linux Server, Redhat Enterprise Linux Server Aus, Redhat Enterprise Linux Server Eus and 4 more.
How do I fix CVE-2018-18397?
Apply the vendor's patch.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2018-18397 being exploited?
There is no known exploitation of CVE-2018-18397 in the wild and no public exploit code.
Other vulnerabilities in Canonical Ubuntu Linux
Sources
Also known as DEBIAN-CVE-2018-18397, GHSA-7cx6-7887-9rwv, RHSA-2019:0202, RHSA-2019:0324, UBUNTU-CVE-2018-18397.