CVE-2019-15792
Type confusion in shiftfs
In shiftfs, a non-upstream patch to the Linux kernel included in the Ubuntu 5.0 and 5.3 kernel series, shiftfs_btrfs_ioctl_fd_replace() calls fdget(oldfd), then without further checks passes the resulting file* into shiftfs_real_fdget(), which casts file->private_data, a void* that points to a filesystem-dependent type, to a "struct shiftfs_file_info *". As the private_data is not required to be a pointer, an attacker can use this to cause a denial of service or possibly execute arbitrary code.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.1
Type confusion in shiftfs
In shiftfs, a non-upstream patch to the Linux kernel included in the Ubuntu 5.0 and 5.3 kernel series, shiftfs_btrfs_ioctl_fd_replace() calls fdget(oldfd), then without further checks passes the resulting file* into shiftfs_real_fdget(), which casts file->private_data, a void* that points to a filesystem-dependent type, to a "struct shiftfs_file_info *". As the private_data is not required to be a pointer, an attacker can use this to cause a denial of service or possibly execute arbitrary code.
- Record
CVE-2019-15792- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Weakness
- CWE-843
- Updated
- 2026-11-02
EUVDEUVD-2019-6715
7.1
In shiftfs, a non-upstream patch to the Linux kernel included in the Ubuntu 5.0 and 5.3 kernel series, shiftfs_btrfs_ioctl_fd_replace() calls fdget(oldfd), then without further checks passes the resulting file* into shiftfs_real_fdget(), which casts file->private_data, a void* that points to a filesystem-dependent type, to a "struct shiftfs_file_info *". As the private_data is not required to be a pointer, an attacker can use this to cause a denial of service or possibly execute arbitrary code.
- Record
EUVD-2019-6715- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-rx63-pxf9-gqg8 No score
In shiftfs, a non-upstream patch to the Linux kernel included in the Ubuntu 5.0 and 5.3 kernel...
In shiftfs, a non-upstream patch to the Linux kernel included in the Ubuntu 5.0 and 5.3 kernel series, shiftfs_btrfs_ioctl_fd_replace() calls fdget(oldfd), then without further checks passes the resulting file* into shiftfs_real_fdget(), which casts file->private_data, a void* that points to a filesystem-dependent type, to a "struct shiftfs_file_info *". As the private_data is not required to be a pointer, an attacker can use this to cause a denial of service or possibly execute arbitrary code.
- Record
GHSA-rx63-pxf9-gqg8- Updated
- 2026-11-02
NVD
7.1
In shiftfs, a non-upstream patch to the Linux kernel included in the Ubuntu 5.0 and 5.3 kernel series, shiftfs_btrfs_ioctl_fd_replace() calls fdget(oldfd), then without further checks passes the resulting file* into shiftfs_real_fdget(), which casts file->private_data, a void* that points to a filesystem-dependent type, to a "struct shiftfs_file_info *". As the private_data is not required to be a pointer, an attacker can use this to cause a denial of service or possibly execute arbitrary code.
- Record
CVE-2019-15792- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 4.6 Medium
AV:L/AC:L/Au:N/C:P/I:P/A:P - Weakness
- CWE-843
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2019-15792
7.8
In shiftfs, a non-upstream patch to the Linux kernel included in the Ubuntu 5.0 and 5.3 kernel series, shiftfs_btrfs_ioctl_fd_replace() calls fdget(oldfd), then without further checks passes the resulting file* into shiftfs_real_fdget(), which casts file->private_data, a void* that points to a filesystem-dependent type, to a "struct shiftfs_file_info *". As the private_data is not required to be a pointer, an attacker can use this to cause a denial of service or possibly execute arbitrary code.
- Record
UBUNTU-CVE-2019-15792- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - CVSS 3.1
- 7.1 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Updated
- 2026-11-02
OSVUSN-4184-1 No score
linux, linux-aws, linux-azure, linux-gcp, linux-gke-5.0, linux-hwe, linux-kvm, linux-oem-osp1, linux-oracle, linux-raspi2 vulnerabilities
Stephan van Schaik, Alyssa Milburn, Sebastian Österlund, Pietro Frigo, Kaveh Razavi, Herbert Bos, Cristiano Giuffrida, Giorgi Maisuradze, Moritz Lipp, Michael Schwarz, Daniel Gruss, and Jo Van Bulck discovered that Intel processors using Transactional Synchronization Extensions (TSX) could expose memory contents previously stored in microarchitectural buffers to a malicious process that is executing on the same CPU core. A local attacker could use this to expose sensitive information. (CVE-2019-11135)
It was discovered that the Intel i915 graphics chipsets allowed userspace to modify page table entries via writes to MMIO from the Blitter Command Streamer and expose kernel memory information. A local attacker could use this to expose sensitive information or possibly elevate privileges. (CVE-2019-0155)
Deepak Gupta discovered that on certain Intel processors, the Linux kernel did not properly perform invalidation on page table updates by virtual guest operating systems. A local attacker in a guest VM could use this to cause a denial of service (host system crash). (CVE-2018-12207)
It was discovered that the Intel i915 graphics chipsets could cause a system hang when userspace performed a read from GT memory mapped input output (MMIO) when the product is in certain low power states. A local attacker could use this to cause a denial of service. (CVE-2019-0154)
Hui Peng discovered that the Atheros AR6004 USB Wi-Fi device driver for the Linux kernel did not properly validate endpoint descriptors returned by the device. A physically proximate attacker could use this to cause a denial of service (system crash). (CVE-2019-15098)
Jann Horn discovered a reference count underflow in the shiftfs implementation in the Linux kernel. A local attacker could use this to cause a denial of service (system crash) or possibly execute arbitrary code. (CVE-2019-15791)
Jann Horn discovered a type confusion vulnerability in the shiftfs implementation in the Linux kernel. A local attacker could use this to cause a denial of service (system crash) or possibly execute arbitrary code. (CVE-2019-15792)
Jann Horn discovered that the shiftfs implementation in the Linux kernel did not use the correct file system uid/gid when the user namespace of a lower file system is not in the init user namespace. A local attacker could use this to possibly bypass DAC permissions or have some other unspecified impact. (CVE-2019-15793)
Ori Nimron discovered that the AX25 network protocol implementation in the Linux kernel did not properly perform permissions checks. A local attacker could use this to create a raw socket. (CVE-2019-17052)
Ori Nimron discovered that the IEEE 802.15.4 Low-Rate Wireless network protocol implementation in the Linux kernel did not properly perform permissions checks. A local attacker could use this to create a raw socket. (CVE-2019-17053)
Ori Nimron discovered that the Appletalk network protocol implementation in the Linux kernel did not properly perform permissions checks. A local attacker could use this to create a raw socket. (CVE-2019-17054)
Ori Nimron discovered that the modular ISDN network protocol implementation in the Linux kernel did not properly perform permissions checks. A local attacker could use this to create a raw socket. (CVE-2019-17055)
Ori Nimron discovered that the Near field Communication (NFC) network protocol implementation in the Linux kernel did not properly perform permissions checks. A local attacker could use this to create a raw socket. (CVE-2019-17056)
Nico Waisman discovered that a buffer overflow existed in the Realtek Wi-Fi driver for the Linux kernel when handling Notice of Absence frames. A physically proximate attacker could use this to cause a denial of service (system crash) or possibly execute arbitrary code. (CVE-2019-17666)
- Record
USN-4184-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
linux-hwe-edgeUbuntu:16.04:LTS |
All versions, plus listed versions 4.8.0-28.30~16.04.14.8.0-30.32~16.04.14.8.0-32.34~16.04.14.8.0-34.36~16.04.14.10.0-14.16~16.04.1 Show 18 moreShow less4.10.0-19.21~16.04.14.10.0-20.22~16.04.14.10.0-21.23~16.04.14.10.0-22.24~16.04.14.10.0-24.28~16.04.14.10.0-26.30~16.04.14.11.0-13.19~16.04.14.11.0-14.20~16.04.14.13.0-16.19~16.04.34.13.0-17.20~16.04.14.13.0-19.22~16.04.14.13.0-21.24~16.04.14.13.0-25.29~16.04.24.15.0-13.14~16.04.14.15.0-15.16~16.04.14.15.0-20.21~16.04.14.15.0-22.24~16.04.14.15.0-23.25~16.04.1 |
None known |
linux-azure-edgeUbuntu:18.04:LTS |
All versions, plus listed versions 4.18.0-1006.6~18.04.14.18.0-1007.7~18.04.14.18.0-1008.8~18.04.15.0.0-1012.12~18.04.2 |
None known |
linux-gcp-edgeUbuntu:18.04:LTS |
All versions, plus listed versions 4.18.0-1004.5~18.04.14.18.0-1005.6~18.04.14.18.0-1006.7~18.04.14.18.0-1007.8~18.04.14.18.0-1008.9~18.04.1 Show 7 moreShow less4.18.0-1009.10~18.04.14.18.0-1011.12~18.04.14.18.0-1012.13~18.04.14.18.0-1013.14~18.04.14.18.0-1015.16~18.04.15.0.0-1011.11~18.04.15.0.0-1013.13~18.04.1 |
None known |
linux-hwe-edgeUbuntu:18.04:LTS |
All versions, plus listed versions 5.0.0-15.16~18.04.15.0.0-16.17~18.04.15.0.0-17.18~18.04.15.0.0-19.20~18.04.15.0.0-20.21~18.04.1 Show 5 moreShow less5.3.0-19.20~18.04.25.3.0-22.24~18.04.15.3.0-23.25~18.04.15.3.0-23.25~18.04.25.3.0-24.26~18.04.2 |
None known |
linux-azure-fdeUbuntu:20.04:LTS |
All versions, plus listed versions 5.4.0-1063.66+cvm2.25.4.0-1063.66+cvm3.25.4.0-1064.67+cvm1.15.4.0-1065.68+cvm2.15.4.0-1067.70+cvm1.1 Show 21 moreShow less5.4.0-1068.71+cvm1.15.4.0-1069.72+cvm1.15.4.0-1070.73+cvm1.15.4.0-1072.75+cvm1.15.4.0-1073.76+cvm1.15.4.0-1074.77+cvm1.15.4.0-1076.79+cvm1.15.4.0-1078.81+cvm1.15.4.0-1080.83+cvm1.15.4.0-1083.87+cvm1.15.4.0-1085.90+cvm1.15.4.0-1085.90+cvm2.15.4.0-1086.91+cvm1.15.4.0-1089.94+cvm1.25.4.0-1090.95+cvm1.15.4.0-1091.96+cvm1.15.4.0-1092.97+cvm1.15.4.0-1095.101+cvm1.15.4.0-1098.104+cvm1.15.4.0-1100.106+cvm1.15.4.0-1103.109+cvm1.1 |
None known |
linux-gkeUbuntu:20.04:LTS |
All versions, plus listed versions 5.4.0-1033.355.4.0-1035.375.4.0-1036.385.4.0-1037.395.4.0-1039.41 Show 45 moreShow less5.4.0-1041.435.4.0-1042.445.4.0-1043.455.4.0-1044.465.4.0-1046.485.4.0-1049.525.4.0-1051.545.4.0-1052.555.4.0-1053.565.4.0-1054.575.4.0-1055.585.4.0-1056.595.4.0-1057.605.4.0-1059.625.4.0-1061.645.4.0-1062.655.4.0-1063.665.4.0-1065.685.4.0-1066.695.4.0-1067.705.4.0-1068.715.4.0-1071.765.4.0-1072.775.4.0-1074.795.4.0-1076.825.4.0-1078.845.4.0-1080.865.4.0-1081.875.4.0-1083.895.4.0-1084.905.4.0-1086.935.4.0-1087.945.4.0-1090.975.4.0-1091.985.4.0-1094.1015.4.0-1095.1025.4.0-1096.1035.4.0-1097.1045.4.0-1098.1055.4.0-1099.1065.4.0-1100.1075.4.0-1101.1085.4.0-1102.1095.4.0-1103.1105.4.0-1104.111 |
None known |
linux-gkeopUbuntu:20.04:LTS |
All versions, plus listed versions 5.4.0-1008.95.4.0-1009.105.4.0-1010.115.4.0-1011.125.4.0-1012.13 Show 45 moreShow less5.4.0-1013.145.4.0-1014.155.4.0-1015.165.4.0-1016.175.4.0-1018.195.4.0-1021.225.4.0-1022.235.4.0-1023.245.4.0-1024.255.4.0-1025.265.4.0-1026.275.4.0-1027.285.4.0-1029.305.4.0-1031.325.4.0-1032.335.4.0-1033.345.4.0-1034.355.4.0-1036.375.4.0-1037.385.4.0-1038.395.4.0-1039.405.4.0-1040.415.4.0-1043.445.4.0-1046.485.4.0-1048.515.4.0-1049.525.4.0-1051.545.4.0-1052.555.4.0-1053.565.4.0-1054.575.4.0-1056.605.4.0-1057.615.4.0-1060.645.4.0-1061.655.4.0-1062.665.4.0-1064.685.4.0-1065.695.4.0-1066.705.4.0-1067.715.4.0-1068.725.4.0-1069.735.4.0-1070.745.4.0-1071.755.4.0-1072.765.4.0-1073.77 |
None known |
linux-gkeop-5.15Ubuntu:20.04:LTS |
All versions, plus listed versions 5.15.0-1003.5~20.04.25.15.0-1005.7~20.04.15.15.0-1007.10~20.04.15.15.0-1008.12~20.04.15.15.0-1011.15~20.04.2 Show 40 moreShow less5.15.0-1012.16~20.04.15.15.0-1013.17~20.04.15.15.0-1015.19~20.04.15.15.0-1016.21~20.04.15.15.0-1017.22~20.04.15.15.0-1018.23~20.04.15.15.0-1019.24~20.04.15.15.0-1020.25~20.04.15.15.0-1021.26~20.04.15.15.0-1022.27~20.04.15.15.0-1023.28~20.04.15.15.0-1024.29~20.04.15.15.0-1025.30~20.04.15.15.0-1026.31~20.04.15.15.0-1027.32~20.04.15.15.0-1028.33~20.04.15.15.0-1030.35~20.04.15.15.0-1031.37~20.04.15.15.0-1032.38~20.04.15.15.0-1033.39~20.04.15.15.0-1034.40~20.04.15.15.0-1035.41~20.04.15.15.0-1036.42~20.04.15.15.0-1037.43~20.04.15.15.0-1038.44~20.04.15.15.0-1039.45~20.04.15.15.0-1040.46~20.04.15.15.0-1043.50~20.04.15.15.0-1044.51~20.04.15.15.0-1045.52~20.04.15.15.0-1046.53~20.04.15.15.0-1047.54~20.04.15.15.0-1048.55~20.04.15.15.0-1049.56~20.04.15.15.0-1050.57~20.04.15.15.0-1051.58~20.04.15.15.0-1052.59~20.04.15.15.0-1053.60~20.04.15.15.0-1054.61~20.04.15.15.0-1055.62~20.04.1 |
None known |
linux-raspi2Ubuntu:20.04:LTS |
All versions, plus listed versions 5.3.0-1007.85.3.0-1014.165.3.0-1015.175.3.0-1017.195.4.0-1004.45.4.0-1006.6 |
None known |
linux-riscvUbuntu:20.04:LTS |
All versions, plus listed versions 5.4.0-24.285.4.0-26.305.4.0-27.315.4.0-28.325.4.0-30.34 Show 7 moreShow less5.4.0-31.355.4.0-33.375.4.0-34.385.4.0-36.415.4.0-37.425.4.0-39.445.4.0-40.45 |
None known |
Show 9 moreShow less
| Package | Affected | Fixed |
|---|---|---|
linux-intel-iot-realtimeUbuntu:22.04:LTS |
All versions, plus listed versions 5.15.0-1073.75 |
None known |
linux-realtimeUbuntu:22.04:LTS |
All versions, plus listed versions 5.15.0-1032.35 |
None known |
linux-riscvUbuntu:22.04:LTS |
All versions, plus listed versions 5.13.0-1004.45.13.0-1006.6+22.04.15.13.0-1007.7+22.04.15.13.0-1010.11+22.04.15.15.0-1004.4 Show 18 moreShow less5.15.0-1005.55.15.0-1006.65.15.0-1007.75.15.0-1008.85.15.0-1011.125.15.0-1012.135.15.0-1014.165.15.0-1015.175.15.0-1016.185.15.0-1017.195.15.0-1018.215.15.0-1019.225.15.0-1020.235.15.0-1022.265.15.0-1023.275.15.0-1026.305.15.0-1027.315.15.0-1028.32 |
None known |
linux-raspi-realtimeUbuntu:24.04:LTS |
All versions, plus listed versions 6.8.0-2019.20 |
None known |
linux-azureUbuntu:18.04:LTS |
before 5.0.0-1025.27~18.04.1, plus listed versions 4.15.0-1002.24.15.0-1003.34.15.0-1004.44.15.0-1008.84.15.0-1009.9 Show 31 moreShow less4.15.0-1012.124.15.0-1013.134.15.0-1014.144.15.0-1018.184.15.0-1019.194.15.0-1021.214.15.0-1022.234.15.0-1023.244.15.0-1025.264.15.0-1028.294.15.0-1030.314.15.0-1031.324.15.0-1032.334.15.0-1035.364.15.0-1036.384.15.0-1037.394.18.0-1011.11~18.04.14.18.0-1013.13~18.04.14.18.0-1014.14~18.04.14.18.0-1018.18~18.04.14.18.0-1019.19~18.04.14.18.0-1020.20~18.04.14.18.0-1023.24~18.04.14.18.0-1024.25~18.04.14.18.0-1025.27~18.04.15.0.0-1014.14~18.04.15.0.0-1016.17~18.04.15.0.0-1018.19~18.04.15.0.0-1020.21~18.04.15.0.0-1022.23~18.04.15.0.0-1023.24~18.04.1 |
5.0.0-1025.27~18.04.1 |
linux-gcpUbuntu:18.04:LTS |
before 5.0.0-1025.26~18.04.1, plus listed versions 4.15.0-1001.14.15.0-1003.34.15.0-1005.54.15.0-1006.64.15.0-1008.8 Show 26 moreShow less4.15.0-1009.94.15.0-1010.104.15.0-1014.144.15.0-1015.154.15.0-1017.184.15.0-1018.194.15.0-1019.204.15.0-1021.224.15.0-1023.244.15.0-1024.254.15.0-1025.264.15.0-1026.274.15.0-1027.284.15.0-1028.294.15.0-1029.314.15.0-1030.324.15.0-1032.344.15.0-1033.354.15.0-1034.364.15.0-1036.384.15.0-1037.394.15.0-1040.424.15.0-1042.454.15.0-1044.705.0.0-1020.20~18.04.15.0.0-1021.21~18.04.1 |
5.0.0-1025.26~18.04.1 |
linux-gke-5.0Ubuntu:18.04:LTS |
before 5.0.0-1025.26~18.04.1, plus listed versions 5.0.0-1011.11~18.04.15.0.0-1013.13~18.04.15.0.0-1015.15~18.04.15.0.0-1017.17~18.04.15.0.0-1020.20~18.04.15.0.0-1022.22~18.04.35.0.0-1023.23~18.04.2 |
5.0.0-1025.26~18.04.1 |
linux-hweUbuntu:18.04:LTS |
before 5.0.0-35.38~18.04.1, plus listed versions 4.18.0-13.14~18.04.14.18.0-14.15~18.04.14.18.0-15.16~18.04.14.18.0-16.17~18.04.14.18.0-17.18~18.04.1 Show 12 moreShow less4.18.0-18.19~18.04.14.18.0-20.21~18.04.14.18.0-21.22~18.04.14.18.0-22.23~18.04.14.18.0-24.25~18.04.14.18.0-25.26~18.04.15.0.0-23.24~18.04.15.0.0-25.26~18.04.15.0.0-27.28~18.04.15.0.0-29.31~18.04.15.0.0-31.33~18.04.15.0.0-32.34~18.04.2 |
5.0.0-35.38~18.04.1 |
linux-oem-osp1Ubuntu:18.04:LTS |
before 5.0.0-1027.31, plus listed versions 5.0.0-1010.115.0.0-1012.135.0.0-1015.165.0.0-1018.205.0.0-1020.225.0.0-1022.245.0.0-1024.275.0.0-1025.28 |
5.0.0-1027.31 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| Exploit-DB | Ubuntu 19.10 - Refcount Underflow and Type Confusion in shiftfs | 2019-11-20 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, Exploit-DB, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2019-15792 is a high vulnerability (CVSS 7.1) in Linux Kernel, published November 12, 2019. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 1.10%, the 65th percentile. Fixed in linux-azure 5.0.0-1025.27~18.04.1.
References
usn.ubuntu.com/usn/usn-4183-1
usn.ubuntu.com/usn/usn-4184-1
git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/eoan/commit?id=5df147c8140efc71ac0879ae3b0057f577226d4c
nvd.nist.gov/vuln/detail/CVE-2019-15792
github.com/advisories/GHSA-rx63-pxf9-gqg8
ubuntu.com/security/CVE-2019-15792
Show 16 moreShow less
ubuntu.com/security/notices/USN-4183-1
ubuntu.com/security/notices/USN-4184-1
cve.org/CVERecord?id=CVE-2019-15792
ubuntu.com/security/CVE-2018-12207
ubuntu.com/security/CVE-2019-0154
ubuntu.com/security/CVE-2019-0155
ubuntu.com/security/CVE-2019-11135
ubuntu.com/security/CVE-2019-15098
ubuntu.com/security/CVE-2019-15791
ubuntu.com/security/CVE-2019-15793
ubuntu.com/security/CVE-2019-17052
ubuntu.com/security/CVE-2019-17053
ubuntu.com/security/CVE-2019-17054
ubuntu.com/security/CVE-2019-17055
ubuntu.com/security/CVE-2019-17056
ubuntu.com/security/CVE-2019-17666
Left out here: 29 versions. The JSON record has them.