CVE-2019-16089
Medium · 4.1CVSS
4.1
EPSS
0.4%
Published
Sep 6, 2019
CISA due date
—
Cloudanix analysis
A flaw in the Linux kernel's handling of certain storage-device status messages could let a highly privileged local user crash the entire machine.
- Exploitation
- Local Privilege
- Attacker needs
- High Privilege
- Complexity
- High
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Missing return-value check on nla_nest_start_noflag in nbd_genl_status allows an invalid netlink attribute nest pointer to be used, producing kernel memory corruption or a NULL-dereference panic when handling NBD status requests.
Why it matters to the business
Systems that expose the NBD generic netlink interface can experience local denial-of-service crashes requiring a reboot; the flaw is difficult to reach and has seen no observed exploitation after more than seven years.
How an attack unfolds
An attacker with existing local root privileges crafts a netlink message that triggers the unchecked nla_nest_start_noflag path inside the NBD driver; the resulting invalid pointer use either corrupts kernel memory or immediately panics the system.
How to fix it
Upgrade the Linux kernel to a version later than 5.2.13 that contains the corrected nbd_genl_status implementation; rebuild and reboot all affected systems. Where immediate patching is impossible, restrict unprivileged access to Netlink and the NBD module.
How to confirm the fix worked
Confirm the running kernel is newer than 5.2.13 and inspect drivers/block/nbd.c for an explicit NULL check after the nla_nest_start_noflag call; run regression tests that exercise NBD generic netlink status reporting.
Typical attack path
- Obtain local root privileges on the target host
- Load or ensure the nbd kernel module is present
- Send a crafted Netlink NBD_CMD_STATUS message containing nested attributes that cause nla_nest_start_noflag to fail
- Trigger kernel panic or memory corruption leading to denial of service
How to detect it
Review kernel logs for oops or panic entries referencing nbd.c or nbd_genl_status; examine auditd or syscall logs for unusual Netlink activity from the NBD generic family by root processes.
What your security team should do
- Prioritize kernel upgrades on any host still running versions 5.2.13 or earlier
- Audit systems for NBD usage and remove the module if not required
- Apply kernel live-patching where available for critical workloads
- Monitor EPSS and KEV updates; the current low, stable EPSS indicates minimal external threat
The record
An issue was discovered in the Linux kernel through 5.2.13. nbd_genl_status in drivers/block/nbd.c does not check the nla_nest_start_noflag return value.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | No fix |
| Debian:12 | linux | 0 | No fix |
| Debian:13 | linux | 0 | No fix |
| Ubuntu:14.04:LTS | linux-azure | 0 | 4.15.0-1091.101~14.04.1 |
| Ubuntu:16.04:LTS | linux | 0 | 4.2.0-16.19 |
| Ubuntu:16.04:LTS | linux-aws | 0 | 4.4.0-1001.10 |
| Ubuntu:16.04:LTS | linux-aws-hwe | 0 | 4.15.0-1079.83~16.04.1 |
| Ubuntu:16.04:LTS | linux-aws-hwe | 0 | 4.15.0-1074.78~16.04.1 |
| Ubuntu:16.04:LTS | linux-azure | 0 | 4.15.0-1091.101~16.04.1 |
| Ubuntu:16.04:LTS | linux-gcp | 0 | 4.15.0-1080.90~16.04.1 |
| Ubuntu:16.04:LTS | linux-gcp | 0 | 4.15.0-1078.88~16.04.1 |
| Ubuntu:16.04:LTS | linux-hwe | 0 | 4.15.0-112.113~16.04.1 |
| Ubuntu:16.04:LTS | linux-hwe | 0 | 4.15.0-107.108~16.04.1 |
| Ubuntu:16.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:16.04:LTS | linux-kvm | 0 | 4.4.0-1004.9 |
| Ubuntu:16.04:LTS | linux-oracle | 0 | 4.15.0-1050.54~16.04.1 |
| Ubuntu:16.04:LTS | linux-oracle | 0 | 4.15.0-1046.50~16.04.1 |
| Ubuntu:16.04:LTS | linux-raspi2 | 0 | 4.2.0-1013.19 |
| Ubuntu:16.04:LTS | linux-snapdragon | 0 | 4.4.0-1013.15 |
| Ubuntu:18.04:LTS | linux | 0 | 4.15.0-109.110 |
| Ubuntu:18.04:LTS | linux-aws | 0 | 4.15.0-1077.81 |
| Ubuntu:18.04:LTS | linux-aws-5.0 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-aws-5.3 | 0 | 5.3.0-1032.34~18.04.2 |
| Ubuntu:18.04:LTS | linux-aws-5.4 | 0 | 5.4.0-1020.20~18.04.2 |
| Ubuntu:18.04:LTS | linux-azure | 0 | No fix |
| Ubuntu:18.04:LTS | linux-azure-4.15 | 0 | 4.15.0-1091.101 |
| Ubuntu:18.04:LTS | linux-azure-5.3 | 0 | 5.3.0-1034.35~18.04.1 |
| Ubuntu:18.04:LTS | linux-azure-5.4 | 0 | 5.4.0-1022.22~18.04.1 |
| Ubuntu:18.04:LTS | linux-azure-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-dell300x | 0 | 4.15.0-1005.8 |
| Ubuntu:18.04:LTS | linux-gcp | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gcp-4.15 | 0 | 4.15.0-1080.90 |
| Ubuntu:18.04:LTS | linux-gcp-4.15 | 0 | 4.15.0-1078.88 |
| Ubuntu:18.04:LTS | linux-gcp-5.3 | 0 | 5.3.0-1032.34~18.04.1 |
| Ubuntu:18.04:LTS | linux-gcp-5.4 | 0 | 5.4.0-1021.21~18.04.1 |
| Ubuntu:18.04:LTS | linux-gcp-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gke-4.15 | 0 | 4.15.0-1066.69 |
| Ubuntu:18.04:LTS | linux-gke-4.15 | 0 | 4.15.0-1064.67 |
| Ubuntu:18.04:LTS | linux-gke-5.0 | 0 | 5.0.0-1045.46 |
| Ubuntu:18.04:LTS | linux-gke-5.3 | 0 | 5.3.0-1032.34~18.04.1 |
| Ubuntu:18.04:LTS | linux-gke-5.4 | 0 | 5.4.0-1025.25~18.04.1 |
| Ubuntu:18.04:LTS | linux-gkeop-5.4 | 0 | 5.4.0-1001.1 |
| Ubuntu:18.04:LTS | linux-hwe | 0 | 5.3.0-64.58~18.04.1 |
| Ubuntu:18.04:LTS | linux-hwe-5.4 | 0 | 5.4.0-42.46~18.04.1 |
| Ubuntu:18.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-kvm | 0 | 4.15.0-1069.70 |
| Ubuntu:18.04:LTS | linux-oem | 0 | 4.15.0-1091.101 |
| Ubuntu:18.04:LTS | linux-oem-osp1 | 0 | 5.0.0-1065.70 |
| Ubuntu:18.04:LTS | linux-oracle | 0 | 4.15.0-1048.52 |
| Ubuntu:18.04:LTS | linux-oracle-5.0 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle-5.3 | 0 | 5.3.0-1030.32~18.04.1 |
| Ubuntu:18.04:LTS | linux-oracle-5.4 | 0 | 5.4.0-1021.21~18.04.1 |
| Ubuntu:18.04:LTS | linux-raspi-5.4 | 0 | 5.4.0-1015.15~18.04.1 |
| Ubuntu:18.04:LTS | linux-raspi2 | 0 | 4.15.0-1065.69 |
| Ubuntu:18.04:LTS | linux-raspi2-5.3 | 0 | 5.3.0-1030.32~18.04.2 |
| Ubuntu:18.04:LTS | linux-snapdragon | 0 | 4.15.0-1083.91 |
| Ubuntu:18.04:LTS | linux-snapdragon | 0 | 4.15.0-1081.88 |
| Ubuntu:20.04:LTS | linux | 0 | 5.4.0-42.46 |
| Ubuntu:20.04:LTS | linux-aws | 0 | 5.4.0-1020.20 |
| Ubuntu:20.04:LTS | linux-aws-5.11 | 0 | 5.11.0-1009.9~20.04.2 |
| Ubuntu:20.04:LTS | linux-aws-5.8 | 0 | 5.8.0-1035.37~20.04.1 |
| Ubuntu:20.04:LTS | linux-azure | 0 | 5.4.0-1022.22 |
| Ubuntu:20.04:LTS | linux-azure-5.11 | 0 | 5.11.0-1007.7~20.04.2 |
| Ubuntu:20.04:LTS | linux-azure-5.8 | 0 | 5.8.0-1033.35~20.04.1 |
| Ubuntu:20.04:LTS | linux-bluefield | 0 | 5.4.0-1007.10 |
| Ubuntu:20.04:LTS | linux-gcp | 0 | 5.4.0-1021.21 |
| Ubuntu:20.04:LTS | linux-gcp-5.8 | 0 | 5.8.0-1032.34~20.04.1 |
| Ubuntu:20.04:LTS | linux-gke | 0 | 5.4.0-1033.35 |
| Ubuntu:20.04:LTS | linux-gkeop | 0 | 5.4.0-1008.9 |
| Ubuntu:20.04:LTS | linux-hwe-5.11 | 0 | 5.11.0-22.23~20.04.1 |
| Ubuntu:20.04:LTS | linux-hwe-5.8 | 0 | 5.8.0-23.24~20.04.1 |
| Ubuntu:20.04:LTS | linux-kvm | 0 | 5.4.0-1020.20 |
| Ubuntu:20.04:LTS | linux-oem-5.10 | 0 | 5.10.0-1008.9 |
| Ubuntu:20.04:LTS | linux-oem-5.13 | 0 | 5.13.0-1009.10 |
| Ubuntu:20.04:LTS | linux-oem-5.6 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oracle | 0 | 5.4.0-1021.21 |
| Ubuntu:20.04:LTS | linux-oracle-5.11 | 0 | 5.11.0-1008.8~20.04.1 |
| Ubuntu:20.04:LTS | linux-oracle-5.8 | 0 | 5.8.0-1031.32~20.04.2 |
| Ubuntu:20.04:LTS | linux-raspi | 0 | 5.4.0-1015.15 |
| Ubuntu:20.04:LTS | linux-raspi2 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv | 0 | 5.4.0-30.34 |
| Ubuntu:20.04:LTS | linux-riscv-5.11 | 0 | 5.11.0-1015.16~20.04.1 |
| Ubuntu:20.04:LTS | linux-riscv-5.8 | 0 | 5.8.0-14.16~20.04.1 |
| Ubuntu:Pro:14.04:LTS | linux | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | linux-aws | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | linux-azure | 0 | 4.15.0-1091.101~14.04.1 |
| Ubuntu:Pro:14.04:LTS | linux-lts-xenial | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-aws-5.0 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-azure | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-azure-edge | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-gcp | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-gcp-edge | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-oracle-5.0 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-oem-5.6 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-raspi2 | 0 | No fix |
Related vulnerabilities
- CVE-2025-38562 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-38352 In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: fix… Also affects linux
- CVE-2025-22037 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-21760 In the Linux kernel, the following vulnerability has been resolved: ndisc: extend RCU… Also affects linux
- CVE-2025-21758 In the Linux kernel, the following vulnerability has been resolved: ipv6: mcast: add RCU… Also affects linux
- CVE-2025-21664 In the Linux kernel, the following vulnerability has been resolved: dm thin: make… Also affects linux
- CVE-2024-57946 In the Linux kernel, the following vulnerability has been resolved: virtio-blk: don't… Also affects linux
- CVE-2024-57945 In the Linux kernel, the following vulnerability has been resolved: riscv: mm: Fix the… Also affects linux