In the Linux kernel 4.14.x, 4.15.x, 4.16.x, 4.17.x, and 4.18.x before 4.18.13, faulty computation of numeric bounds in the BPF verifier permits out-of-bounds memory accesses because adjust_scalar_min_max_vals in kernel/bpf/verifier.c mishandles 32-bit right shifts.
The product reads data past the end, or before the beginning, of the intended buffer.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Linux_kernel | Linux | 4.14.9 (including) | 4.14.75 (excluding) |
| Linux_kernel | Linux | 4.15 (including) | 4.18.13 (excluding) |
| Red Hat Enterprise Linux 7 | RedHat | kernel-rt-0:3.10.0-957.10.1.rt56.921.el7 | * |
| Red Hat Enterprise Linux 7 | RedHat | kernel-0:3.10.0-957.10.1.el7 | * |
| Linux | Ubuntu | bionic | * |
| Linux | Ubuntu | cosmic | * |
| Linux | Ubuntu | esm-infra/bionic | * |
| Linux | Ubuntu | upstream | * |
| Linux-aws | Ubuntu | bionic | * |
| Linux-aws | Ubuntu | cosmic | * |
| Linux-aws | Ubuntu | esm-infra/bionic | * |
| Linux-aws | Ubuntu | upstream | * |
| Linux-aws-hwe | Ubuntu | esm-infra/xenial | * |
| Linux-aws-hwe | Ubuntu | upstream | * |
| Linux-aws-hwe | Ubuntu | xenial | * |
| Linux-azure | Ubuntu | bionic | * |
| Linux-azure | Ubuntu | cosmic | * |
| Linux-azure | Ubuntu | esm-infra-legacy/trusty | * |
| Linux-azure | Ubuntu | esm-infra/bionic | * |
| Linux-azure | Ubuntu | esm-infra/xenial | * |
| Linux-azure | Ubuntu | trusty | * |
| Linux-azure | Ubuntu | trusty/esm | * |
| Linux-azure | Ubuntu | upstream | * |
| Linux-azure | Ubuntu | xenial | * |
| Linux-azure-edge | Ubuntu | bionic | * |
| Linux-azure-edge | Ubuntu | esm-infra/bionic | * |
| Linux-azure-edge | Ubuntu | upstream | * |
| Linux-azure-edge | Ubuntu | xenial | * |
| Linux-euclid | Ubuntu | upstream | * |
| Linux-flo | Ubuntu | trusty | * |
| Linux-flo | Ubuntu | upstream | * |
| Linux-flo | Ubuntu | xenial | * |
| Linux-gcp | Ubuntu | bionic | * |
| Linux-gcp | Ubuntu | cosmic | * |
| Linux-gcp | Ubuntu | esm-infra/bionic | * |
| Linux-gcp | Ubuntu | esm-infra/xenial | * |
| Linux-gcp | Ubuntu | upstream | * |
| Linux-gcp | Ubuntu | xenial | * |
| Linux-gcp-edge | Ubuntu | upstream | * |
| Linux-gke | Ubuntu | upstream | * |
| Linux-gke | Ubuntu | xenial | * |
| Linux-goldfish | Ubuntu | trusty | * |
| Linux-goldfish | Ubuntu | upstream | * |
| Linux-goldfish | Ubuntu | xenial | * |
| Linux-grouper | Ubuntu | trusty | * |
| Linux-grouper | Ubuntu | upstream | * |
| Linux-hwe | Ubuntu | esm-infra/xenial | * |
| Linux-hwe | Ubuntu | upstream | * |
| Linux-hwe | Ubuntu | xenial | * |
| Linux-hwe-edge | Ubuntu | esm-infra/xenial | * |
| Linux-hwe-edge | Ubuntu | upstream | * |
| Linux-hwe-edge | Ubuntu | xenial | * |
| Linux-kvm | Ubuntu | bionic | * |
| Linux-kvm | Ubuntu | cosmic | * |
| Linux-kvm | Ubuntu | esm-infra/bionic | * |
| Linux-kvm | Ubuntu | upstream | * |
| Linux-lts-trusty | Ubuntu | upstream | * |
| Linux-lts-utopic | Ubuntu | trusty | * |
| Linux-lts-utopic | Ubuntu | upstream | * |
| Linux-lts-vivid | Ubuntu | trusty | * |
| Linux-lts-vivid | Ubuntu | upstream | * |
| Linux-lts-wily | Ubuntu | trusty | * |
| Linux-lts-wily | Ubuntu | upstream | * |
| Linux-lts-xenial | Ubuntu | upstream | * |
| Linux-maguro | Ubuntu | trusty | * |
| Linux-maguro | Ubuntu | upstream | * |
| Linux-mako | Ubuntu | trusty | * |
| Linux-mako | Ubuntu | upstream | * |
| Linux-mako | Ubuntu | xenial | * |
| Linux-manta | Ubuntu | trusty | * |
| Linux-manta | Ubuntu | upstream | * |
| Linux-oem | Ubuntu | bionic | * |
| Linux-oem | Ubuntu | cosmic | * |
| Linux-oem | Ubuntu | esm-infra/bionic | * |
| Linux-oem | Ubuntu | upstream | * |
| Linux-oem | Ubuntu | xenial | * |
| Linux-oracle | Ubuntu | upstream | * |
| Linux-raspi2 | Ubuntu | bionic | * |
| Linux-raspi2 | Ubuntu | cosmic | * |
| Linux-raspi2 | Ubuntu | upstream | * |
| Linux-snapdragon | Ubuntu | upstream | * |