Cloudanix VulnDB

CVE-2017-9214

Critical · 9.8

CVSS

9.8

EPSS

2.9%

Published

May 23, 2017

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in network software used by certain controller packages can let attackers send specially crafted messages that crash the system or leak internal data.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Data Exposure
Component
Network Service
Class
Buffer Overflow
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Buffer over-read triggered by unsigned integer underflow during parsing of an OFPT_QUEUE_GET_CONFIG_REPLY type OFP 1.0 message in ofputil_pull_queue_get_config_reply10.

Why it matters to the business

Remote attackers can crash the Open vSwitch process or read adjacent memory, disrupting network control plane operations and potentially exposing sensitive packet metadata in environments that rely on the affected packages.

How an attack unfolds

An attacker sends a crafted OFPT_QUEUE_GET_CONFIG_REPLY OpenFlow 1.0 message to a vulnerable Open vSwitch instance; the underflow in message length calculation leads to an out-of-bounds read that can be leveraged for denial of service or limited information disclosure.

How to fix it

Upgrade flux-source-controller (Chainguard) and flux-source-controller (Wolfi) to version 1.1.2-r3 or later; apply any vendor-supplied Open vSwitch patches that correct the queue-config reply parsing logic.

How to confirm the fix worked

Confirm package versions are at or above the stated fixed releases, replay synthetic OFPT_QUEUE_GET_CONFIG_REPLY messages in a lab environment to verify absence of crash or over-read, and review changelog entries for the buffer handling fix.

Typical attack path

  1. Identify exposed Open vSwitch control channel or OpenFlow listener
  2. Craft and transmit a malicious OFPT_QUEUE_GET_CONFIG_REPLY message with manipulated length fields
  3. Trigger unsigned integer underflow in ofputil_pull_queue_get_config_reply10
  4. Cause process crash or memory disclosure

How to detect it

Search Open vSwitch logs and system logs for segmentation faults or assertion failures immediately following receipt of OFPT_QUEUE_GET_CONFIG_REPLY messages; correlate with network captures containing OpenFlow 1.0 traffic on control channels.

What your security team should do

  • Prioritize upgrade of all flux-source-controller instances to 1.1.2-r3 within standard change windows
  • Restrict exposure of OpenFlow control channels to trusted networks only
  • Monitor for unexpected Open vSwitch process restarts and queue-config related error logs
  • Include the affected packages in regular vulnerability scanning and SBOM reviews

The record

In Open vSwitch (OvS) 2.7.0, while parsing an OFPT_QUEUE_GET_CONFIG_REPLY type OFP 1.0 message, there is a buffer over-read that is caused by an unsigned integer underflow in the function `ofputil_pull_queue_get_config_reply10` in `lib/ofp-util.c`.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 openvswitch 0 2.8.1+dfsg1-2
Debian:12 openvswitch 0 2.8.1+dfsg1-2
Debian:13 openvswitch 0 2.8.1+dfsg1-2
Debian:9 openvswitch 0 2.6.10-0+deb9u1
Red Hat:enterprise_linux:7::fastdatapath openvswitch 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::fastdatapath openvswitch-debuginfo 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::fastdatapath openvswitch-devel 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::fastdatapath openvswitch-ovn-central 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::fastdatapath openvswitch-ovn-common 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::fastdatapath openvswitch-ovn-docker 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::fastdatapath openvswitch-ovn-host 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::fastdatapath openvswitch-ovn-vtep 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::fastdatapath openvswitch-test 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::fastdatapath python-openvswitch 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::hypervisor openvswitch 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::hypervisor openvswitch-debuginfo 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::hypervisor openvswitch-devel 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::hypervisor openvswitch-ovn-central 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::hypervisor openvswitch-ovn-common 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::hypervisor openvswitch-ovn-docker 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::hypervisor openvswitch-ovn-host 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::hypervisor openvswitch-ovn-vtep 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::hypervisor openvswitch-test 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:enterprise_linux:7::hypervisor python-openvswitch 0 0:2.7.2-1.git20170719.el7fdp
Red Hat:openstack:10::el7 openvswitch 0 0:2.6.1-13.git20161206.el7ost
Red Hat:openstack:10::el7 openvswitch-debuginfo 0 0:2.6.1-13.git20161206.el7ost
Red Hat:openstack:10::el7 python-openvswitch 0 0:2.6.1-13.git20161206.el7ost
Red Hat:openstack:11::el7 openvswitch 0 0:2.6.1-13.git20161206.el7ost
Red Hat:openstack:11::el7 openvswitch-debuginfo 0 0:2.6.1-13.git20161206.el7ost
Red Hat:openstack:11::el7 openvswitch-ovn-central 0 0:2.6.1-13.git20161206.el7ost
Red Hat:openstack:11::el7 openvswitch-ovn-common 0 0:2.6.1-13.git20161206.el7ost
Red Hat:openstack:11::el7 openvswitch-ovn-docker 0 0:2.6.1-13.git20161206.el7ost
Red Hat:openstack:11::el7 openvswitch-ovn-host 0 0:2.6.1-13.git20161206.el7ost
Red Hat:openstack:11::el7 openvswitch-ovn-vtep 0 0:2.6.1-13.git20161206.el7ost
Red Hat:openstack:11::el7 python-openvswitch 0 0:2.6.1-13.git20161206.el7ost
Red Hat:openstack:6::el7 openvswitch 0 0:2.4.1-2.git20160727.el7ost
Red Hat:openstack:6::el7 openvswitch-debuginfo 0 0:2.4.1-2.git20160727.el7ost
Red Hat:openstack:6::el7 python-openvswitch 0 0:2.4.1-2.git20160727.el7ost
Red Hat:openstack:7::el7 openvswitch 0 0:2.5.0-15.git20160727.el7ost
Red Hat:openstack:7::el7 openvswitch-debuginfo 0 0:2.5.0-15.git20160727.el7ost
Red Hat:openstack:7::el7 python-openvswitch 0 0:2.5.0-15.git20160727.el7ost
Red Hat:openstack:8::el7 openvswitch 0 0:2.5.0-15.git20160727.el7ost
Red Hat:openstack:8::el7 openvswitch-debuginfo 0 0:2.5.0-15.git20160727.el7ost
Red Hat:openstack:8::el7 python-openvswitch 0 0:2.5.0-15.git20160727.el7ost
Red Hat:openstack:9::el7 openvswitch 0 0:2.5.0-15.git20160727.el7ost
Red Hat:openstack:9::el7 openvswitch-debuginfo 0 0:2.5.0-15.git20160727.el7ost
Red Hat:openstack:9::el7 python-openvswitch 0 0:2.5.0-15.git20160727.el7ost
SUSE:Linux Enterprise Server 12 SP2 openvswitch 0 2.5.1-25.12.7
SUSE:Linux Enterprise Server 12 SP2 openvswitch-dpdk 0 2.5.1-25.12.8
SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 openvswitch 0 2.5.1-25.12.7
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 openvswitch 0 2.5.1-25.12.7
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 openvswitch-dpdk 0 2.5.1-25.12.8
SUSE:OpenStack Cloud 6 openvswitch 0 2.5.1-6.4.7
Ubuntu:16.04:LTS openvswitch 0 2.5.2-0ubuntu0.16.04.2

Related vulnerabilities