CVE-2018-1059
Medium · 6.1CVSS
6.1
EPSS
0.8%
Published
Apr 24, 2018
CISA due date
—
Cloudanix analysis
A flaw in network software used by virtual machines can let one virtual machine read private data belonging to the host computer.
- Exploitation
- Adjacent Network
- Attacker needs
- None
- Complexity
- High
- Impact
- Data Exposure
- Component
- Library
- Class
- Information Disclosure
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vhost-user interface skips validation that requested guest physical address ranges are fully mapped and contiguous during GPA-to-HVA translation, allowing out-of-bounds reads from the backend process memory space.
Why it matters to the business
Virtualized network workloads on affected hosts risk leakage of backend process memory contents, potentially exposing credentials, packet data, or other sensitive information in multi-tenant or cloud environments.
How an attack unfolds
An attacker with control of a guest VM issues crafted vhost-user messages requesting non-contiguous or unmapped guest physical ranges; the missing checks allow the translation logic to return host virtual addresses that point into backend process memory, enabling direct reads of that memory.
How to fix it
Upgrade DPDK to version 18.02.1 or later on all affected platforms; rebuild and redeploy any dependent packages such as Open vSwitch or virtualization stacks that statically link DPDK.
How to confirm the fix worked
Confirm installed DPDK version is 18.02.1 or newer; review source for addition of explicit mapped-range and contiguity checks in the vhost-user GPA translation path; test with crafted malicious descriptors to verify no out-of-bounds reads occur.
Typical attack path
- Obtain control of a guest VM attached to a vhost-user backend
- Send malicious vhost-user protocol messages containing invalid GPA ranges
- Trigger GPA-to-HVA translation without contiguity or mapping verification
- Read arbitrary memory contents from the host backend process
How to detect it
Inspect vhost-user backend logs and hypervisor audit trails for unexpected translation requests or memory access patterns; correlate with guest VM activity that precedes unusual backend process behavior.
What your security team should do
- Prioritize upgrade of DPDK across all hosts running affected virtualization or networking stacks
- Isolate or restrict untrusted guest VMs that use vhost-user until patches are applied
- Monitor vendor advisories for dependent products (OpenStack, OpenShift, RHEL Fast Datapath) and apply coordinated updates
- Review logging configuration to capture vhost-user protocol anomalies for post-patch validation
The record
The DPDK vhost-user interface does not check to verify that all the requested guest physical range is mapped and contiguous when performing Guest Physical Addresses to Host Virtual Addresses translations. This may lead to a malicious guest exposing vhost-user backend process memory. All versions before 18.02.1 are vulnerable.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | dpdk | 0 | 17.11.2-1 |
| Debian:12 | dpdk | 0 | 17.11.2-1 |
| Debian:13 | dpdk | 0 | 17.11.2-1 |
| Red Hat:enterprise_linux:7::fastdatapath | openvswitch | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:enterprise_linux:7::fastdatapath | openvswitch-debuginfo | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:enterprise_linux:7::fastdatapath | openvswitch-devel | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:enterprise_linux:7::fastdatapath | openvswitch-ovn-central | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:enterprise_linux:7::fastdatapath | openvswitch-ovn-common | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:enterprise_linux:7::fastdatapath | openvswitch-ovn-host | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:enterprise_linux:7::fastdatapath | openvswitch-ovn-vtep | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:enterprise_linux:7::fastdatapath | openvswitch-test | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:enterprise_linux:7::fastdatapath | python-openvswitch | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:enterprise_linux:7::hypervisor | openvswitch | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:enterprise_linux:7::hypervisor | openvswitch-debuginfo | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:enterprise_linux:7::hypervisor | openvswitch-devel | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:enterprise_linux:7::hypervisor | openvswitch-ovn-central | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:enterprise_linux:7::hypervisor | openvswitch-ovn-common | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:enterprise_linux:7::hypervisor | openvswitch-ovn-host | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:enterprise_linux:7::hypervisor | openvswitch-ovn-vtep | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:enterprise_linux:7::hypervisor | openvswitch-test | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:enterprise_linux:7::hypervisor | python-openvswitch | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:openstack:10::el7 | openstack-selinux | 0 | 0:0.8.14-5.el7ost |
| Red Hat:openstack:10::el7 | openvswitch | 0 | 0:2.9.0-19.el7fdp.1 |
| Red Hat:openstack:10::el7 | openvswitch-debuginfo | 0 | 0:2.9.0-19.el7fdp.1 |
| Red Hat:openstack:10::el7 | openvswitch-devel | 0 | 0:2.9.0-19.el7fdp.1 |
| Red Hat:openstack:10::el7 | openvswitch-ovn-central | 0 | 0:2.9.0-19.el7fdp.1 |
| Red Hat:openstack:10::el7 | openvswitch-ovn-common | 0 | 0:2.9.0-19.el7fdp.1 |
| Red Hat:openstack:10::el7 | openvswitch-ovn-host | 0 | 0:2.9.0-19.el7fdp.1 |
| Red Hat:openstack:10::el7 | openvswitch-ovn-vtep | 0 | 0:2.9.0-19.el7fdp.1 |
| Red Hat:openstack:10::el7 | openvswitch-test | 0 | 0:2.9.0-19.el7fdp.1 |
| Red Hat:openstack:10::el7 | python-openvswitch | 0 | 0:2.9.0-19.el7fdp.1 |
| Red Hat:openstack:12::el7 | openvswitch | 0 | 0:2.9.0-19.el7fdp.1 |
| Red Hat:openstack:12::el7 | openvswitch-debuginfo | 0 | 0:2.9.0-19.el7fdp.1 |
| Red Hat:openstack:12::el7 | openvswitch-ovn-central | 0 | 0:2.9.0-19.el7fdp.1 |
| Red Hat:openstack:12::el7 | openvswitch-ovn-common | 0 | 0:2.9.0-19.el7fdp.1 |
| Red Hat:openstack:12::el7 | openvswitch-ovn-host | 0 | 0:2.9.0-19.el7fdp.1 |
| Red Hat:openstack:12::el7 | openvswitch-ovn-vtep | 0 | 0:2.9.0-19.el7fdp.1 |
| Red Hat:openstack:12::el7 | openvswitch-test | 0 | 0:2.9.0-19.el7fdp.1 |
| Red Hat:openstack:12::el7 | python-openvswitch | 0 | 0:2.9.0-19.el7fdp.1 |
| Red Hat:rhel_extras_other:7 | dpdk | 0 | 0:17.11-11.el7 |
| Red Hat:rhel_extras_other:7 | dpdk-debuginfo | 0 | 0:17.11-11.el7 |
| Red Hat:rhel_extras_other:7 | dpdk-devel | 0 | 0:17.11-11.el7 |
| Red Hat:rhel_extras_other:7 | dpdk-doc | 0 | 0:17.11-11.el7 |
| Red Hat:rhel_extras_other:7 | dpdk-tools | 0 | 0:17.11-11.el7 |
| Red Hat:rhev_manager:4.2 | openvswitch | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:rhev_manager:4.2 | openvswitch-debuginfo | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:rhev_manager:4.2 | openvswitch-devel | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:rhev_manager:4.2 | openvswitch-ovn-central | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:rhev_manager:4.2 | openvswitch-ovn-common | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:rhev_manager:4.2 | openvswitch-ovn-host | 0 | 0:2.9.0-19.el7fdp |
| Red Hat:rhev_manager:4.2 | python-openvswitch | 0 | 0:2.9.0-19.el7fdp |
| SUSE:Linux Enterprise Server 12 SP3 | dpdk | 0 | 16.11.8-8.10.2 |
| SUSE:Linux Enterprise Server 12 SP3 | dpdk | 0 | 16.11.6-8.4.2 |
| SUSE:Linux Enterprise Server 12 SP3 | dpdk-thunderx | 0 | 16.11.8-8.10.2 |
| SUSE:Linux Enterprise Server 12 SP3 | dpdk-thunderx | 0 | 16.11.6-8.4.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | dpdk | 0 | 16.11.8-8.10.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | dpdk | 0 | 16.11.6-8.4.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | dpdk-thunderx | 0 | 16.11.8-8.10.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | dpdk-thunderx | 0 | 16.11.6-8.4.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | dpdk | 0 | 16.11.8-8.10.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | dpdk | 0 | 16.11.6-8.4.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | dpdk-thunderx | 0 | 16.11.8-8.10.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | dpdk-thunderx | 0 | 16.11.6-8.4.2 |
| Ubuntu:16.04:LTS | dpdk | 0 | No fix |
| Ubuntu:18.04:LTS | dpdk | 0 | 17.11.2-1ubuntu0.1 |
| Ubuntu:Pro:16.04:LTS | dpdk | 0 | No fix |
| openSUSE:Tumbleweed | dpdk | 0 | 19.11.8-2.7 |
Related vulnerabilities
- CVE-2022-28199 NVIDIA’s distribution of the Data Plane Development Kit (MLNX_DPDK) contains a… Also affects dpdk
- CVE-2020-14374 A flaw was found in dpdk in versions before 18.11.10 and before 19.11.5. Also affects dpdk
- CVE-2019-14818 A flaw was found in all dpdk version 17.x.x before 17.11.8, 16.x.x before 16.11.10… Also affects dpdk
- CVE-2024-11614 An out-of-bounds read vulnerability was found in DPDK's Vhost library checksum offload… Also affects dpdk
- CVE-2015-8011 Buffer overflow in the lldp_decode function in daemon/protocols/lldp.c in lldpd before… Also affects openvswitch
- CVE-2017-9214 In Open vSwitch (OvS) 2.7.0, while parsing an OFPT_QUEUE_GET_CONFIG_REPLY type OFP 1.0… Also affects openvswitch
- CVE-2026-114657 Grav from 2.0.0 before 2.2.5 contains an information disclosure vulnerability that allows… CWE-200
- CVE-2026-114574 A security vulnerability has been detected in massCodeIO massCode 5.10. CWE-200