ntfs_read_locked_inode in the ntfs.ko filesystem driver in the Linux kernel 4.15.0 allows attackers to trigger a use-after-free read and possibly cause a denial of service (kernel oops or panic) via a crafted ntfs filesystem.
Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Linux_kernel | Linux | 4.15 (including) | 4.15 (including) |
Linux | Ubuntu | artful | * |
Linux | Ubuntu | bionic | * |
Linux | Ubuntu | cosmic | * |
Linux | Ubuntu | disco | * |
Linux | Ubuntu | eoan | * |
Linux | Ubuntu | groovy | * |
Linux | Ubuntu | hirsute | * |
Linux | Ubuntu | impish | * |
Linux | Ubuntu | kinetic | * |
Linux | Ubuntu | lunar | * |
Linux | Ubuntu | mantic | * |
Linux | Ubuntu | precise/esm | * |
Linux | Ubuntu | trusty | * |
Linux | Ubuntu | xenial | * |
Linux-allwinner | Ubuntu | kinetic | * |
Linux-allwinner | Ubuntu | lunar | * |
Linux-allwinner | Ubuntu | upstream | * |
Linux-allwinner-5.19 | Ubuntu | jammy | * |
Linux-allwinner-5.19 | Ubuntu | upstream | * |
Linux-aws | Ubuntu | bionic | * |
Linux-aws | Ubuntu | cosmic | * |
Linux-aws | Ubuntu | disco | * |
Linux-aws | Ubuntu | eoan | * |
Linux-aws | Ubuntu | groovy | * |
Linux-aws | Ubuntu | hirsute | * |
Linux-aws | Ubuntu | impish | * |
Linux-aws | Ubuntu | kinetic | * |
Linux-aws | Ubuntu | lunar | * |
Linux-aws | Ubuntu | mantic | * |
Linux-aws | Ubuntu | trusty | * |
Linux-aws | Ubuntu | xenial | * |
Linux-aws-5.0 | Ubuntu | bionic | * |
Linux-aws-5.0 | Ubuntu | esm-infra/bionic | * |
Linux-aws-5.0 | Ubuntu | upstream | * |
Linux-aws-5.11 | Ubuntu | focal | * |
Linux-aws-5.11 | Ubuntu | upstream | * |
Linux-aws-5.13 | Ubuntu | focal | * |
Linux-aws-5.13 | Ubuntu | upstream | * |
Linux-aws-5.19 | Ubuntu | jammy | * |
Linux-aws-5.19 | Ubuntu | upstream | * |
Linux-aws-5.3 | Ubuntu | bionic | * |
Linux-aws-5.3 | Ubuntu | esm-infra/bionic | * |
Linux-aws-5.3 | Ubuntu | upstream | * |
Linux-aws-5.4 | Ubuntu | bionic | * |
Linux-aws-5.8 | Ubuntu | focal | * |
Linux-aws-5.8 | Ubuntu | upstream | * |
Linux-aws-6.2 | Ubuntu | jammy | * |
Linux-aws-6.2 | Ubuntu | upstream | * |
Linux-aws-6.5 | Ubuntu | jammy | * |
Linux-aws-6.5 | Ubuntu | upstream | * |
Linux-aws-fips | Ubuntu | fips-updates/bionic | * |
Linux-aws-fips | Ubuntu | fips/bionic | * |
Linux-aws-hwe | Ubuntu | xenial | * |
Linux-azure | Ubuntu | bionic | * |
Linux-azure | Ubuntu | cosmic | * |
Linux-azure | Ubuntu | disco | * |
Linux-azure | Ubuntu | eoan | * |
Linux-azure | Ubuntu | esm-infra/bionic | * |
Linux-azure | Ubuntu | groovy | * |
Linux-azure | Ubuntu | hirsute | * |
Linux-azure | Ubuntu | impish | * |
Linux-azure | Ubuntu | kinetic | * |
Linux-azure | Ubuntu | lunar | * |
Linux-azure | Ubuntu | mantic | * |
Linux-azure | Ubuntu | trusty | * |
Linux-azure | Ubuntu | xenial | * |
Linux-azure-4.15 | Ubuntu | bionic | * |
Linux-azure-5.11 | Ubuntu | focal | * |
Linux-azure-5.11 | Ubuntu | upstream | * |
Linux-azure-5.13 | Ubuntu | focal | * |
Linux-azure-5.13 | Ubuntu | upstream | * |
Linux-azure-5.19 | Ubuntu | jammy | * |
Linux-azure-5.19 | Ubuntu | upstream | * |
Linux-azure-5.4 | Ubuntu | bionic | * |
Linux-azure-5.8 | Ubuntu | focal | * |
Linux-azure-5.8 | Ubuntu | upstream | * |
Linux-azure-6.2 | Ubuntu | jammy | * |
Linux-azure-6.2 | Ubuntu | upstream | * |
Linux-azure-6.5 | Ubuntu | jammy | * |
Linux-azure-6.5 | Ubuntu | upstream | * |
Linux-azure-edge | Ubuntu | bionic | * |
Linux-azure-edge | Ubuntu | esm-infra/bionic | * |
Linux-azure-edge | Ubuntu | upstream | * |
Linux-azure-fde | Ubuntu | focal | * |
Linux-azure-fde-5.19 | Ubuntu | jammy | * |
Linux-azure-fde-5.19 | Ubuntu | upstream | * |
Linux-azure-fde-6.2 | Ubuntu | jammy | * |
Linux-azure-fde-6.2 | Ubuntu | upstream | * |
Linux-azure-fips | Ubuntu | fips-updates/bionic | * |
Linux-azure-fips | Ubuntu | fips/bionic | * |
Linux-dell300x | Ubuntu | bionic | * |
Linux-dell300x | Ubuntu | upstream | * |
Linux-euclid | Ubuntu | xenial | * |
Linux-fips | Ubuntu | fips-updates/bionic | * |
Linux-fips | Ubuntu | fips-updates/xenial | * |
Linux-fips | Ubuntu | fips/bionic | * |
Linux-fips | Ubuntu | fips/xenial | * |
Linux-flo | Ubuntu | trusty | * |
Linux-flo | Ubuntu | xenial | * |
Linux-gcp | Ubuntu | bionic | * |
Linux-gcp | Ubuntu | cosmic | * |
Linux-gcp | Ubuntu | disco | * |
Linux-gcp | Ubuntu | eoan | * |
Linux-gcp | Ubuntu | esm-infra/bionic | * |
Linux-gcp | Ubuntu | groovy | * |
Linux-gcp | Ubuntu | hirsute | * |
Linux-gcp | Ubuntu | impish | * |
Linux-gcp | Ubuntu | kinetic | * |
Linux-gcp | Ubuntu | lunar | * |
Linux-gcp | Ubuntu | mantic | * |
Linux-gcp | Ubuntu | xenial | * |
Linux-gcp-4.15 | Ubuntu | bionic | * |
Linux-gcp-5.11 | Ubuntu | focal | * |
Linux-gcp-5.11 | Ubuntu | upstream | * |
Linux-gcp-5.13 | Ubuntu | focal | * |
Linux-gcp-5.13 | Ubuntu | upstream | * |
Linux-gcp-5.19 | Ubuntu | jammy | * |
Linux-gcp-5.19 | Ubuntu | upstream | * |
Linux-gcp-5.3 | Ubuntu | bionic | * |
Linux-gcp-5.3 | Ubuntu | esm-infra/bionic | * |
Linux-gcp-5.3 | Ubuntu | upstream | * |
Linux-gcp-5.4 | Ubuntu | bionic | * |
Linux-gcp-5.8 | Ubuntu | focal | * |
Linux-gcp-5.8 | Ubuntu | upstream | * |
Linux-gcp-6.2 | Ubuntu | jammy | * |
Linux-gcp-6.2 | Ubuntu | upstream | * |
Linux-gcp-6.5 | Ubuntu | jammy | * |
Linux-gcp-6.5 | Ubuntu | upstream | * |
Linux-gcp-edge | Ubuntu | bionic | * |
Linux-gcp-fips | Ubuntu | fips-updates/bionic | * |
Linux-gcp-fips | Ubuntu | fips/bionic | * |
Linux-gke | Ubuntu | focal | * |
Linux-gke | Ubuntu | xenial | * |
Linux-gke-4.15 | Ubuntu | bionic | * |
Linux-gke-4.15 | Ubuntu | esm-infra/bionic | * |
Linux-gke-4.15 | Ubuntu | upstream | * |
Linux-gke-5.0 | Ubuntu | bionic | * |
Linux-gke-5.0 | Ubuntu | upstream | * |
Linux-gke-5.15 | Ubuntu | focal | * |
Linux-gke-5.15 | Ubuntu | upstream | * |
Linux-gke-5.3 | Ubuntu | bionic | * |
Linux-gke-5.3 | Ubuntu | upstream | * |
Linux-gke-5.4 | Ubuntu | bionic | * |
Linux-gke-5.4 | Ubuntu | esm-infra/bionic | * |
Linux-gke-5.4 | Ubuntu | upstream | * |
Linux-gkeop-5.15 | Ubuntu | focal | * |
Linux-gkeop-5.4 | Ubuntu | bionic | * |
Linux-gkeop-5.4 | Ubuntu | esm-infra/bionic | * |
Linux-gkeop-5.4 | Ubuntu | upstream | * |
Linux-goldfish | Ubuntu | trusty | * |
Linux-goldfish | Ubuntu | xenial | * |
Linux-grouper | Ubuntu | trusty | * |
Linux-hwe | Ubuntu | bionic | * |
Linux-hwe | Ubuntu | esm-infra/bionic | * |
Linux-hwe | Ubuntu | xenial | * |
Linux-hwe-5.11 | Ubuntu | focal | * |
Linux-hwe-5.11 | Ubuntu | upstream | * |
Linux-hwe-5.13 | Ubuntu | focal | * |
Linux-hwe-5.13 | Ubuntu | upstream | * |
Linux-hwe-5.19 | Ubuntu | jammy | * |
Linux-hwe-5.19 | Ubuntu | upstream | * |
Linux-hwe-5.4 | Ubuntu | bionic | * |
Linux-hwe-5.8 | Ubuntu | focal | * |
Linux-hwe-5.8 | Ubuntu | upstream | * |
Linux-hwe-6.2 | Ubuntu | jammy | * |
Linux-hwe-6.2 | Ubuntu | upstream | * |
Linux-hwe-edge | Ubuntu | bionic | * |
Linux-hwe-edge | Ubuntu | esm-infra/bionic | * |
Linux-hwe-edge | Ubuntu | esm-infra/xenial | * |
Linux-hwe-edge | Ubuntu | upstream | * |
Linux-hwe-edge | Ubuntu | xenial | * |
Linux-ibm | Ubuntu | kinetic | * |
Linux-ibm | Ubuntu | lunar | * |
Linux-ibm | Ubuntu | mantic | * |
Linux-ibm-5.4 | Ubuntu | bionic | * |
Linux-ibm-5.4 | Ubuntu | esm-infra/bionic | * |
Linux-intel-5.13 | Ubuntu | focal | * |
Linux-intel-5.13 | Ubuntu | upstream | * |
Linux-kvm | Ubuntu | bionic | * |
Linux-kvm | Ubuntu | cosmic | * |
Linux-kvm | Ubuntu | disco | * |
Linux-kvm | Ubuntu | eoan | * |
Linux-kvm | Ubuntu | groovy | * |
Linux-kvm | Ubuntu | hirsute | * |
Linux-kvm | Ubuntu | impish | * |
Linux-kvm | Ubuntu | kinetic | * |
Linux-kvm | Ubuntu | lunar | * |
Linux-kvm | Ubuntu | xenial | * |
Linux-laptop | Ubuntu | mantic | * |
Linux-lowlatency | Ubuntu | kinetic | * |
Linux-lowlatency | Ubuntu | lunar | * |
Linux-lowlatency | Ubuntu | mantic | * |
Linux-lowlatency-hwe-5.19 | Ubuntu | jammy | * |
Linux-lowlatency-hwe-5.19 | Ubuntu | upstream | * |
Linux-lowlatency-hwe-6.2 | Ubuntu | jammy | * |
Linux-lowlatency-hwe-6.2 | Ubuntu | upstream | * |
Linux-lts-trusty | Ubuntu | precise/esm | * |
Linux-lts-utopic | Ubuntu | trusty | * |
Linux-lts-utopic | Ubuntu | trusty/esm | * |
Linux-lts-vivid | Ubuntu | trusty | * |
Linux-lts-vivid | Ubuntu | trusty/esm | * |
Linux-lts-wily | Ubuntu | trusty | * |
Linux-lts-wily | Ubuntu | trusty/esm | * |
Linux-lts-xenial | Ubuntu | trusty | * |
Linux-maguro | Ubuntu | trusty | * |
Linux-mako | Ubuntu | trusty | * |
Linux-mako | Ubuntu | xenial | * |
Linux-manta | Ubuntu | trusty | * |
Linux-nvidia-6.2 | Ubuntu | jammy | * |
Linux-nvidia-6.2 | Ubuntu | upstream | * |
Linux-oem | Ubuntu | bionic | * |
Linux-oem | Ubuntu | cosmic | * |
Linux-oem | Ubuntu | disco | * |
Linux-oem | Ubuntu | eoan | * |
Linux-oem | Ubuntu | esm-infra/bionic | * |
Linux-oem | Ubuntu | upstream | * |
Linux-oem | Ubuntu | xenial | * |
Linux-oem-5.10 | Ubuntu | focal | * |
Linux-oem-5.10 | Ubuntu | upstream | * |
Linux-oem-5.14 | Ubuntu | focal | * |
Linux-oem-5.14 | Ubuntu | upstream | * |
Linux-oem-5.17 | Ubuntu | jammy | * |
Linux-oem-5.17 | Ubuntu | kinetic | * |
Linux-oem-5.17 | Ubuntu | upstream | * |
Linux-oem-5.6 | Ubuntu | focal | * |
Linux-oem-5.6 | Ubuntu | upstream | * |
Linux-oem-6.0 | Ubuntu | jammy | * |
Linux-oem-6.0 | Ubuntu | upstream | * |
Linux-oem-6.1 | Ubuntu | jammy | * |
Linux-oem-6.1 | Ubuntu | upstream | * |
Linux-oem-6.5 | Ubuntu | jammy | * |
Linux-oem-6.5 | Ubuntu | upstream | * |
Linux-oem-osp1 | Ubuntu | bionic | * |
Linux-oem-osp1 | Ubuntu | disco | * |
Linux-oem-osp1 | Ubuntu | eoan | * |
Linux-oem-osp1 | Ubuntu | upstream | * |
Linux-oracle | Ubuntu | bionic | * |
Linux-oracle | Ubuntu | cosmic | * |
Linux-oracle | Ubuntu | disco | * |
Linux-oracle | Ubuntu | eoan | * |
Linux-oracle | Ubuntu | groovy | * |
Linux-oracle | Ubuntu | hirsute | * |
Linux-oracle | Ubuntu | impish | * |
Linux-oracle | Ubuntu | kinetic | * |
Linux-oracle | Ubuntu | lunar | * |
Linux-oracle | Ubuntu | mantic | * |
Linux-oracle | Ubuntu | xenial | * |
Linux-oracle-5.0 | Ubuntu | bionic | * |
Linux-oracle-5.0 | Ubuntu | esm-infra/bionic | * |
Linux-oracle-5.0 | Ubuntu | upstream | * |
Linux-oracle-5.11 | Ubuntu | focal | * |
Linux-oracle-5.11 | Ubuntu | upstream | * |
Linux-oracle-5.13 | Ubuntu | focal | * |
Linux-oracle-5.13 | Ubuntu | upstream | * |
Linux-oracle-5.3 | Ubuntu | bionic | * |
Linux-oracle-5.3 | Ubuntu | esm-infra/bionic | * |
Linux-oracle-5.3 | Ubuntu | upstream | * |
Linux-oracle-5.4 | Ubuntu | bionic | * |
Linux-oracle-5.8 | Ubuntu | focal | * |
Linux-oracle-5.8 | Ubuntu | upstream | * |
Linux-oracle-6.5 | Ubuntu | jammy | * |
Linux-oracle-6.5 | Ubuntu | upstream | * |
Linux-raspi | Ubuntu | groovy | * |
Linux-raspi | Ubuntu | hirsute | * |
Linux-raspi | Ubuntu | impish | * |
Linux-raspi | Ubuntu | kinetic | * |
Linux-raspi | Ubuntu | lunar | * |
Linux-raspi | Ubuntu | mantic | * |
Linux-raspi-5.4 | Ubuntu | bionic | * |
Linux-raspi2 | Ubuntu | artful | * |
Linux-raspi2 | Ubuntu | bionic | * |
Linux-raspi2 | Ubuntu | cosmic | * |
Linux-raspi2 | Ubuntu | disco | * |
Linux-raspi2 | Ubuntu | eoan | * |
Linux-raspi2 | Ubuntu | focal | * |
Linux-raspi2 | Ubuntu | upstream | * |
Linux-raspi2 | Ubuntu | xenial | * |
Linux-raspi2-5.3 | Ubuntu | bionic | * |
Linux-raspi2-5.3 | Ubuntu | upstream | * |
Linux-realtime | Ubuntu | jammy | * |
Linux-riscv | Ubuntu | focal | * |
Linux-riscv | Ubuntu | groovy | * |
Linux-riscv | Ubuntu | hirsute | * |
Linux-riscv | Ubuntu | impish | * |
Linux-riscv | Ubuntu | jammy | * |
Linux-riscv | Ubuntu | kinetic | * |
Linux-riscv | Ubuntu | lunar | * |
Linux-riscv | Ubuntu | mantic | * |
Linux-riscv-5.11 | Ubuntu | focal | * |
Linux-riscv-5.11 | Ubuntu | upstream | * |
Linux-riscv-5.19 | Ubuntu | jammy | * |
Linux-riscv-5.19 | Ubuntu | upstream | * |
Linux-riscv-5.8 | Ubuntu | focal | * |
Linux-riscv-5.8 | Ubuntu | upstream | * |
Linux-riscv-6.5 | Ubuntu | jammy | * |
Linux-riscv-6.5 | Ubuntu | upstream | * |
Linux-snapdragon | Ubuntu | artful | * |
Linux-snapdragon | Ubuntu | bionic | * |
Linux-snapdragon | Ubuntu | disco | * |
Linux-snapdragon | Ubuntu | upstream | * |
Linux-snapdragon | Ubuntu | xenial | * |
Linux-starfive | Ubuntu | kinetic | * |
Linux-starfive | Ubuntu | lunar | * |
Linux-starfive | Ubuntu | mantic | * |
Linux-starfive-5.19 | Ubuntu | jammy | * |
Linux-starfive-5.19 | Ubuntu | upstream | * |
Linux-starfive-6.2 | Ubuntu | jammy | * |
Linux-starfive-6.2 | Ubuntu | upstream | * |
Linux-starfive-6.5 | Ubuntu | jammy | * |
Linux-starfive-6.5 | Ubuntu | upstream | * |
Red Hat Enterprise MRG 2 | RedHat | kernel-rt-1:3.10.0-693.46.1.rt56.639.el6rt | * |
The use of previously-freed memory can have any number of adverse consequences, ranging from the corruption of valid data to the execution of arbitrary code, depending on the instantiation and timing of the flaw. The simplest way data corruption may occur involves the system’s reuse of the freed memory. Use-after-free errors have two common and sometimes overlapping causes:
In this scenario, the memory in question is allocated to another pointer validly at some point after it has been freed. The original pointer to the freed memory is used again and points to somewhere within the new allocation. As the data is changed, it corrupts the validly used memory; this induces undefined behavior in the process. If the newly allocated data happens to hold a class, in C++ for example, various function pointers may be scattered within the heap data. If one of these function pointers is overwritten with an address to valid shellcode, execution of arbitrary code can be achieved.