CVE-2018-18955
In the Linux kernel 4.15.x through 4.19.x before 4.19.2, map_write() in kernel/user_namespace.c allows privilege escalation because it mishandles nested user n…
Public exploit code
Working exploit or proof of concept code has been published for this vulnerability. Treat unpatched systems as at risk.
- Linux - Nested User Namespace idmap Limit Local Privilege Escalation (Metasploit)2018-11-29 · local · linux · Verified
- Linux - Broken uid/gid Mapping for Nested User Namespaces2018-11-16 · local · linux · Verified
- Linux Kernel 4.15.x < 4.19.2 - 'map_write() CAP_SYS_ADMIN' Local Privilege Escalation (polkit Method)2019-01-04 · local · linux
- Linux Kernel 4.15.x < 4.19.2 - 'map_write() CAP_SYS_ADMIN' Local Privilege Escalation (ldpreload Method)2018-11-21 · local · linux
- Linux Kernel 4.15.x < 4.19.2 - 'map_write() CAP_SYS_ADMIN' Local Privilege Escalation (dbus Method)2019-01-04 · local · linux
- Linux Kernel 4.15.x < 4.19.2 - 'map_write() CAP_SYS_ADMIN' Local Privilege Escalation (cron Method)2018-11-21 · local · linux
Impact
In the Linux kernel 4.15.x through 4.19.x before 4.19.2, map_write() in kernel/user_namespace.c allows privilege escalation because it mishandles nested user namespaces with more than 5 UID or GID ranges. A user who has CAP_SYS_ADMIN in an affected user namespace can bypass access controls on resources outside the namespace, as demonstrated by reading /etc/shadow. This occurs because an ID transformation takes place properly for the namespaced-to-kernel direction but not for the kernel-to-namespaced direction.
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Linux | Linux Kernel | from 4.15 before 4.19.2 |
| Canonical | Ubuntu Linux | Versions 16.04, 18.04, 18.10 |
Weakness classification
References
- NVD record
- CVE.org record
- http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d2f007dbe7e4c9583eea6eb04d60001e85c6f1bd
- http://www.securityfocus.com/bid/105941
- https://bugs.chromium.org/p/project-zero/issues/detail?id=1712
- https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.18.19
- https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.2
- https://github.com/torvalds/linux/commit/d2f007dbe7e4c9583eea6eb04d60001e85c6f1bd
- https://security.netapp.com/advisory/ntap-20190416-0003/
- https://support.f5.com/csp/article/K39103040
- https://usn.ubuntu.com/3832-1/
- https://usn.ubuntu.com/3833-1/
- https://usn.ubuntu.com/3835-1/
- https://usn.ubuntu.com/3836-1/
- https://usn.ubuntu.com/3836-2/
- https://www.exploit-db.com/exploits/45886/
- https://www.exploit-db.com/exploits/45915/
- http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d2f007dbe7e4c9583eea6eb04d60001e85c6f1bd
- http://www.securityfocus.com/bid/105941
- https://bugs.chromium.org/p/project-zero/issues/detail?id=1712
- https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.18.19
- https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.2
- https://github.com/torvalds/linux/commit/d2f007dbe7e4c9583eea6eb04d60001e85c6f1bd
- https://security.netapp.com/advisory/ntap-20190416-0003/
- https://support.f5.com/csp/article/K39103040
- https://usn.ubuntu.com/3832-1/
- https://usn.ubuntu.com/3833-1/