CVE-2018-16880
High · 7.0CVSS
7.0
EPSS
0.6%
Published
Jan 29, 2019
CISA due date
—
Cloudanix analysis
A bug in the part of Linux that moves network data for virtual machines can let one virtual machine crash or possibly take over the computer running it.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- High
- Impact
- Full Compromise
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
Out-of-bounds write in the handle_rx() function of the vhost_net driver targeting a kmalloc-8 slab, resulting in kernel memory corruption and potential system panic; privilege escalation from guest to host cannot be ruled out.
Why it matters to the business
Virtualized Linux hosts may experience unexpected crashes or, in limited cases, full host compromise initiated from a compromised guest, disrupting workloads and requiring emergency recovery across many deployments.
How an attack unfolds
An attacker who already controls a malicious guest VM crafts network traffic or device state under specific timing conditions to trigger the out-of-bounds write inside the host kernel's vhost_net handling path.
How to fix it
Upgrade the Linux kernel on all affected hosts to a version containing the vhost_net fix; apply the corresponding Ubuntu kernel package updates once released for each supported release.
How to confirm the fix worked
Confirm the running kernel version is newer than the vulnerable range starting at v4.16 and that the vhost_net module no longer contains the flawed handle_rx() logic by inspecting source or vendor advisories.
Typical attack path
- Obtain code execution inside a guest VM that uses vhost_net on the host
- Trigger handle_rx() with crafted packet or descriptor conditions
- Cause out-of-bounds write into kmalloc-8 slab on the host
- Leverage resulting memory corruption for denial of service or potential privilege escalation
How to detect it
Review kernel logs for vhost_net related oops or panic messages referencing handle_rx and slab corruption; correlate with guest activity timestamps on hosts running vulnerable kernels.
What your security team should do
- Prioritize kernel upgrades on all hosts exposing vhost_net to guests
- Audit virtualization configurations to disable vhost_net where not required
- Monitor for guest-to-host isolation violations until patches are applied
The record
A flaw was found in the Linux kernel's handle_rx() function in the [vhost_net] driver. A malicious virtual guest, under specific conditions, can trigger an out-of-bounds write in a kmalloc-8 slab on a virtual host which may lead to a kernel memory corruption and a system panic. Due to the nature of the flaw, privilege escalation cannot be fully ruled out. Versions from v4.16 and newer are vulnerable.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | 4.19.20-1 |
| Debian:12 | linux | 0 | 4.19.20-1 |
| Debian:13 | linux | 0 | 4.19.20-1 |
| SUSE:Linux Enterprise Desktop 12 SP4 | kernel-default | 0 | 4.12.14-95.16.1 |
| SUSE:Linux Enterprise Desktop 12 SP4 | kernel-source | 0 | 4.12.14-95.16.1 |
| SUSE:Linux Enterprise Desktop 12 SP4 | kernel-syms | 0 | 4.12.14-95.16.1 |
| SUSE:Linux Enterprise High Availability Extension 12 SP4 | kernel-default | 0 | 4.12.14-95.16.1 |
| SUSE:Linux Enterprise High Availability Extension 15 | kernel-default | 0 | 4.12.14-150.17.1 |
| SUSE:Linux Enterprise High Availability Extension 15 SP1 | kernel-default | 0 | 4.12.14-197.4.1 |
| SUSE:Linux Enterprise Live Patching 12 SP4 | kgraft-patch-SLE12-SP4_Update_4 | 0 | 1-6.3.1 |
| SUSE:Linux Enterprise Live Patching 15 | kernel-default | 0 | 4.12.14-150.17.1 |
| SUSE:Linux Enterprise Live Patching 15 | kernel-livepatch-SLE15_Update_10 | 0 | 1-1.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP1 | kernel-default | 0 | 4.12.14-197.4.1 |
| SUSE:Linux Enterprise Live Patching 15 SP1 | kernel-livepatch-SLE15-SP1_Update_1 | 0 | 1-3.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 | kernel-default | 0 | 4.12.14-150.17.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 | kernel-source | 0 | 4.12.14-150.17.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 | kernel-zfcpdump | 0 | 4.12.14-150.17.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP1 | kernel-default | 0 | 4.12.14-197.4.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP1 | kernel-source | 0 | 4.12.14-197.4.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP1 | kernel-zfcpdump | 0 | 4.12.14-197.4.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 | kernel-docs | 0 | 4.12.14-150.17.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 | kernel-obs-build | 0 | 4.12.14-150.17.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 | kernel-source | 0 | 4.12.14-150.17.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 | kernel-syms | 0 | 4.12.14-150.17.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 | kernel-vanilla | 0 | 4.12.14-150.17.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP1 | kernel-docs | 0 | 4.12.14-197.4.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP1 | kernel-obs-build | 0 | 4.12.14-197.4.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP1 | kernel-source | 0 | 4.12.14-197.4.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP1 | kernel-syms | 0 | 4.12.14-197.4.1 |
| SUSE:Linux Enterprise Module for Legacy 15 | kernel-default | 0 | 4.12.14-150.17.1 |
| SUSE:Linux Enterprise Module for Legacy 15 SP1 | kernel-default | 0 | 4.12.14-197.4.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 | kernel-azure | 0 | 4.12.14-5.27.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 | kernel-source-azure | 0 | 4.12.14-5.27.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 | kernel-syms-azure | 0 | 4.12.14-5.27.1 |
| SUSE:Linux Enterprise Server 12 SP4 | kernel-azure | 0 | 4.12.14-6.12.1 |
| SUSE:Linux Enterprise Server 12 SP4 | kernel-default | 0 | 4.12.14-95.16.1 |
| SUSE:Linux Enterprise Server 12 SP4 | kernel-source | 0 | 4.12.14-95.16.1 |
| SUSE:Linux Enterprise Server 12 SP4 | kernel-source-azure | 0 | 4.12.14-6.12.1 |
| SUSE:Linux Enterprise Server 12 SP4 | kernel-syms | 0 | 4.12.14-95.16.1 |
| SUSE:Linux Enterprise Server 12 SP4 | kernel-syms-azure | 0 | 4.12.14-6.12.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | kernel-azure | 0 | 4.12.14-6.12.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | kernel-default | 0 | 4.12.14-95.16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | kernel-source | 0 | 4.12.14-95.16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | kernel-source-azure | 0 | 4.12.14-6.12.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | kernel-syms | 0 | 4.12.14-95.16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | kernel-syms-azure | 0 | 4.12.14-6.12.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP4 | kernel-docs | 0 | 4.12.14-95.16.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP4 | kernel-obs-build | 0 | 4.12.14-95.16.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP4 | kernel-default | 0 | 4.12.14-95.16.1 |
| SUSE:Linux Enterprise Workstation Extension 15 | kernel-default | 0 | 4.12.14-150.17.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP1 | kernel-default | 0 | 4.12.14-197.4.1 |
| SUSE:Real Time Module 15 SP1 | kernel-rt | 0 | 4.12.14-14.8.1 |
| SUSE:Real Time Module 15 SP1 | kernel-rt_debug | 0 | 4.12.14-14.8.1 |
| SUSE:Real Time Module 15 SP1 | kernel-source-rt | 0 | 4.12.14-14.8.1 |
| SUSE:Real Time Module 15 SP1 | kernel-syms-rt | 0 | 4.12.14-14.8.1 |
| Ubuntu:14.04:LTS | linux | 0 | 3.11.0-12.19 |
| Ubuntu:14.04:LTS | linux-aws | 0 | 4.4.0-1002.2 |
| Ubuntu:14.04:LTS | linux-azure | 0 | 4.15.0-1023.24~14.04.1 |
| Ubuntu:14.04:LTS | linux-lts-xenial | 0 | 4.4.0-13.29~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-1030.31~16.04.1 |
| Ubuntu:16.04:LTS | linux-azure | 0 | 4.11.0-1009.9 |
| Ubuntu:16.04:LTS | linux-euclid | 0 | 4.4.0-9019.20 |
| Ubuntu:16.04:LTS | linux-gcp | 0 | 4.10.0-1004.4 |
| Ubuntu:16.04:LTS | linux-hwe | 0 | 4.8.0-36.36~16.04.1 |
| Ubuntu:16.04:LTS | linux-kvm | 0 | 4.4.0-1004.9 |
| Ubuntu:16.04:LTS | linux-oracle | 0 | 4.15.0-1007.9~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-1012.12 |
| Ubuntu:18.04:LTS | linux | 0 | 4.13.0-16.19 |
| Ubuntu:18.04:LTS | linux-aws | 0 | 4.15.0-1001.1 |
| Ubuntu:18.04:LTS | linux-azure | 0 | 4.18.0-1013.13~18.04.1 |
| Ubuntu:18.04:LTS | linux-gcp | 0 | 4.15.0-1001.1 |
| Ubuntu:18.04:LTS | linux-gcp-edge | 0 | 4.18.0-1007.8~18.04.1 |
| Ubuntu:18.04:LTS | linux-hwe | 0 | 4.18.0-16.17~18.04.1 |
| Ubuntu:18.04:LTS | linux-kvm | 0 | 4.15.0-1002.2 |
| Ubuntu:18.04:LTS | linux-oem | 0 | 4.15.0-1002.3 |
| Ubuntu:18.04:LTS | linux-oracle | 0 | 4.15.0-1007.9 |
| Ubuntu:18.04:LTS | linux-raspi2 | 0 | 4.13.0-1005.5 |
| Ubuntu:Pro:16.04:LTS | linux-flo | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | linux-goldfish | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | linux-mako | 0 | No fix |
| openSUSE:Leap 15.0 | kernel-debug | 0 | 4.12.14-lp150.12.61.1 |
| openSUSE:Leap 15.0 | kernel-default | 0 | 4.12.14-lp150.12.61.1 |
| openSUSE:Leap 15.0 | kernel-docs | 0 | 4.12.14-lp150.12.61.1 |
| openSUSE:Leap 15.0 | kernel-kvmsmall | 0 | 4.12.14-lp150.12.61.1 |
| openSUSE:Leap 15.0 | kernel-obs-build | 0 | 4.12.14-lp150.12.61.1 |
| openSUSE:Leap 15.0 | kernel-obs-qa | 0 | 4.12.14-lp150.12.61.1 |
| openSUSE:Leap 15.0 | kernel-source | 0 | 4.12.14-lp150.12.61.1 |
| openSUSE:Leap 15.0 | kernel-syms | 0 | 4.12.14-lp150.12.61.1 |
| openSUSE:Leap 15.0 | kernel-vanilla | 0 | 4.12.14-lp150.12.61.1 |
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