Every CVE Search/ Get API key

CVE-2019-15792

Type confusion in shiftfs

7.1 HighPublic exploitFix available

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

1.10%Down 6.5 points since Apr 14, 2021
90%50%10%1%

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 HighCVSS: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 HighCVSS: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 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS 2.0
4.6 MediumAV: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 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS 3.1
7.1 HighCVSS: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

Affected packages
PackageAffectedFixed
linux-hwe-edge
Ubuntu: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 less
4.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-edge
Ubuntu: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-edge
Ubuntu: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 less
4.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-edge
Ubuntu: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 less
5.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-fde
Ubuntu: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 less
5.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-gke
Ubuntu: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 less
5.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-gkeop
Ubuntu: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 less
5.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.15
Ubuntu: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 less
5.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-raspi2
Ubuntu: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-riscv
Ubuntu: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 less
5.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
Affected packages
PackageAffectedFixed
linux-intel-iot-realtime
Ubuntu:22.04:LTS
All versions, plus listed versions
5.15.0-1073.75
None known
linux-realtime
Ubuntu:22.04:LTS
All versions, plus listed versions
5.15.0-1032.35
None known
linux-riscv
Ubuntu: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 less
5.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-realtime
Ubuntu:24.04:LTS
All versions, plus listed versions
6.8.0-2019.20
None known
linux-azure
Ubuntu: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 less
4.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-gcp
Ubuntu: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 less
4.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.0
Ubuntu: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-hwe
Ubuntu: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 less
4.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-osp1
Ubuntu: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.

Public exploits
SourceLinkDate
Exploit-DBUbuntu 19.10 - Refcount Underflow and Type Confusion in shiftfs2019-11-20

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE 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

Show 16 moreShow less
This page doesn't list everything

Left out here: 29 versions. The JSON record has them.

MoveEnter Open