Every CVE Search/ Get API key

CVE-2018-17205

An issue was discovered in Open vSwitch (OvS) 2.7.x through 2.7.6, affecting...

7.5 HighFix available

An issue was discovered in Open vSwitch (OvS) 2.7.x through 2.7.6, affecting ofproto_rule_insert__ in ofproto/ofproto.c. During bundle commit, flows that are added in a bundle are applied to ofproto in order. If a flow cannot be added (e.g., the flow action is a go-to for a group id that does not exist), OvS tries to revert back all previous flows that were successfully applied from the same bundle. This is possible since OvS maintains list of old flows that were replaced by flows from the bundle. While reinserting old flows, OvS has an assertion failure due to a check on rule state != RULE_INITIALIZED. This would work for new flows, but for an old flow the rule state is RULE_REMOVED. The assertion failure causes an OvS crash.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

2.53%Up 1.3 points since Apr 14, 2021
90%50%10%1%

What each source reports

NVD Score used 7.5

An issue was discovered in Open vSwitch (OvS) 2.7.x through 2.7.6, affecting ofproto_rule_insert__ in ofproto/ofproto.c. During bundle commit, flows that are added in a bundle are applied to ofproto in order. If a flow cannot be added (e.g., the flow action is a go-to for a group id that does not exist), OvS tries to revert back all previous flows that were successfully applied from the same bundle. This is possible since OvS maintains list of old flows that were replaced by flows from the bundle. While reinserting old flows, OvS has an assertion failure due to a check on rule state != RULE_INITIALIZED. This would work for new flows, but for an old flow the rule state is RULE_REMOVED. The assertion failure causes an OvS crash.

Record
CVE-2018-17205
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 2.0
5.0 MediumAV:N/AC:L/Au:N/C:N/I:N/A:P
Weakness
CWE-617
Updated
2026-11-02
CVE List No score

An issue was discovered in Open vSwitch (OvS) 2.7.x through 2.7.6, affecting ofproto_rule_insert__ in ofproto/ofproto.c. During bundle commit, flows that are added in a bundle are applied to ofproto in order. If a flow cannot be added (e.g., the flow action is a go-to for a group id that does not exist), OvS tries to revert back all previous flows that were successfully applied from the same bundle. This is possible since OvS maintains list of old flows that were replaced by flows from the bundle. While reinserting old flows, OvS has an assertion failure due to a check on rule state != RULE_INITIALIZED. This would work for new flows, but for an old flow the rule state is RULE_REMOVED. The assertion failure causes an OvS crash.

Record
CVE-2018-17205
Updated
2026-11-02
EUVDEUVD-2018-8967 No score

An issue was discovered in Open vSwitch (OvS) 2.7.x through 2.7.6, affecting ofproto_rule_insert__ in ofproto/ofproto.c. During bundle commit, flows that are added in a bundle are applied to ofproto in order. If a flow cannot be added (e.g., the flow action is a go-to for a group id that does not exist), OvS tries to revert back all previous flows that were successfully applied from the same bundle. This is possible since OvS maintains list of old flows that were replaced by flows from the bundle. While reinserting old flows, OvS has an assertion failure due to a check on rule state != RULE_INITIALIZED. This would work for new flows, but for an old flow the rule state is RULE_REMOVED. The assertion failure causes an OvS crash.

Record
EUVD-2018-8967
Updated
2026-11-03
GitHub AdvisoriesGHSA-vxv4-rrx9-5xfq 7.5

An issue was discovered in Open vSwitch (OvS) 2.7.x through 2.7.6, affecting...

An issue was discovered in Open vSwitch (OvS) 2.7.x through 2.7.6, affecting ofproto_rule_insert__ in ofproto/ofproto.c. During bundle commit, flows that are added in a bundle are applied to ofproto in order. If a flow cannot be added (e.g., the flow action is a go-to for a group id that does not exist), OvS tries to revert back all previous flows that were successfully applied from the same bundle. This is possible since OvS maintains list of old flows that were replaced by flows from the bundle. While reinserting old flows, OvS has an assertion failure due to a check on rule state != RULE_INITIALIZED. This would work for new flows, but for an old flow the rule state is RULE_REMOVED. The assertion failure causes an OvS crash.

Record
GHSA-vxv4-rrx9-5xfq
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-617
Updated
2026-11-02
OSV 7.5

An issue was discovered in Open vSwitch (OvS) 2.7.x through 2.7.6, affecting ofproto_rule_insert__ in ofproto/ofproto.c. During bundle commit, flows that are added in a bundle are applied to ofproto in order. If a flow cannot be added (e.g., the flow action is a go-to for a group id that does not exist), OvS tries to revert back all previous flows that were successfully applied from the same bundle. This is possible since OvS maintains list of old flows that were replaced by flows from the bundle. While reinserting old flows, OvS has an assertion failure due to a check on rule state != RULE_INITIALIZED. This would work for new flows, but for an old flow the rule state is RULE_REMOVED. The assertion failure causes an OvS crash.

Record
CVE-2018-17205
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVDEBIAN-CVE-2018-17205 7.5

An issue was discovered in Open vSwitch (OvS) 2.7.x through 2.7.6, affecting ofproto_rule_insert__ in ofproto/ofproto.c. During bundle commit, flows that are added in a bundle are applied to ofproto in order. If a flow cannot be added (e.g., the flow action is a go-to for a group id that does not exist), OvS tries to revert back all previous flows that were successfully applied from the same bundle. This is possible since OvS maintains list of old flows that were replaced by flows from the bundle. While reinserting old flows, OvS has an assertion failure due to a check on rule state != RULE_INITIALIZED. This would work for new flows, but for an old flow the rule state is RULE_REMOVED. The assertion failure causes an OvS crash.

Record
DEBIAN-CVE-2018-17205
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
Show 6 moreShow less
OSVRHSA-2018:3500 4.9

Red Hat Security Advisory: openvswitch security, bug fix, and enhancement update

Record
RHSA-2018:3500
CVSS 3.0
4.9 MediumCVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVRHSA-2019:0053 4.9

Red Hat Security Advisory: openvswitch security and bug fix update

Record
RHSA-2019:0053
CVSS 3.0
4.9 MediumCVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVRHSA-2019:0081 4.9

Red Hat Security Advisory: openvswitch security and bug fix update

Record
RHSA-2019:0081
CVSS 3.0
4.9 MediumCVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2018-17205 7.5

An issue was discovered in Open vSwitch (OvS) 2.7.x through 2.7.6, affecting ofproto_rule_insert__ in ofproto/ofproto.c. During bundle commit, flows that are added in a bundle are applied to ofproto in order. If a flow cannot be added (e.g., the flow action is a go-to for a group id that does not exist), OvS tries to revert back all previous flows that were successfully applied from the same bundle. This is possible since OvS maintains list of old flows that were replaced by flows from the bundle. While reinserting old flows, OvS has an assertion failure due to a check on rule state != RULE_INITIALIZED. This would work for new flows, but for an old flow the rule state is RULE_REMOVED. The assertion failure causes an OvS crash.

Record
UBUNTU-CVE-2018-17205
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVSUSE-SU-2018:4128-1 No score

Security update for openvswitch

This update for openvswitch to version 2.7.6 fixes the following issues:

These security issues were fixed:

  • CVE-2018-17205: Prevent OVS crash when reverting old flows in bundle commit (bsc#1104467).
  • CVE-2018-17206: Avoid buffer overread in BUNDLE action decoding (bsc#1104467).
  • CVE-2018-17204:When decoding a group mod, it validated the group type and command after the whole group mod has been decoded. The OF1.5 decoder, however, tried to use the type and command earlier, when it might still be invalid. This caused an assertion failure (via OVS_NOT_REACHED) (bsc#1104467).

These non-security issues were fixed:

  • ofproto/bond: Fix bond reconfiguration race condition.
  • ofproto/bond: Fix bond post recirc rule leak.
  • ofproto/bond: fix interal flow leak of tcp-balance bond
  • systemd: Restart openvswitch service if a daemon crashes
  • conntrack: Fix checks for TCP, UDP, and IPv6 header sizes.
  • ofp-actions: Fix translation of set_field for nw_ecn
  • netdev-dpdk: Fix mempool segfault.
  • ofproto-dpif-upcall: Fix flow setup/delete race.
  • learn: Fix memory leak in learn_parse_sepc()
  • netdev-dpdk: fix mempool_configure error state
  • vswitchd: Add --cleanup option to the 'appctl exit' command
  • ofp-parse: Fix memory leak on error path in parse_ofp_group_mod_file().
  • actions: Fix memory leak on error path in parse_ct_lb_action().
  • dpif-netdev: Fix use-after-free error in reconfigure_datapath().
  • bridge: Fix memory leak in bridge_aa_update_trunks().
  • dpif-netlink: Fix multiple-free and fd leak on error path.
  • ofp-print: Avoid array overread in print_table_instruction_features().
  • flow: Fix buffer overread in flow_hash_symmetric_l3l4().
  • systemd: start vswitchd after udev
  • ofp-util: Check length of buckets in ofputil_pull_ofp15_group_mod().
  • ovsdb-types: Fix memory leak on error path.
  • tnl-ports: Fix loss of tunneling upon removal of a single tunnel port.
  • netdev: check for NULL fields in netdev_get_addrs
  • netdev-dpdk: vhost get stats fix.
  • netdev-dpdk: use 64-bit arithmetic when converting rates.
  • ofp-util: Fix buffer overread in ofputil_decode_bundle_add().
  • ofp-util: Fix memory leaks on error cases in ofputil_decode_group_mod().
  • ofp-util: Fix memory leaks when parsing OF1.5 group properties.
  • ofp-actions: Fix buffer overread in decode_LEARN_specs().
  • flow: Fix buffer overread for crafted IPv6 packets.
  • ofp-actions: Properly interpret 'output:in_port'.
  • ovs-ofctl: Avoid read overrun in ofperr_decode_msg().
  • odp-util: Avoid misaligned references to ip6_hdr.
  • ofproto-dpif-upcall: Fix action attr iteration.
  • ofproto-dpif-upcall: Fix key attr iteration.
  • netdev-dpdk: vhost get stats fix.
  • netdev-dpdk: use 64-bit arithmetic when converting rates.
  • ofp-util: Fix buffer overread in ofputil_decode_bundle_add().
  • ofp-util: Fix memory leaks on error cases in ofputil_decode_group_mod().
  • ofp-util: Fix memory leaks when parsing OF1.5 group properties.
  • odp-util: Fix buffer overread in parsing string form of ODP flows.
  • ovs-vsctl: Fix segfault when attempting to del-port from parent bridge.
Record
SUSE-SU-2018:4128-1
Updated
2026-11-02
OSVUSN-3873-1 No score

openvswitch vulnerabilities

It was discovered that Open vSwitch incorrectly decoded certain packets. A remote attacker could possibly use this issue to cause Open vSwitch to crash, resulting in a denial of service. (CVE-2018-17204)

It was discovered that Open vSwitch incorrectly handled processing certain flows. A remote attacker could possibly use this issue to cause Open vSwitch to crash, resulting in a denial of service. This issue only affected Ubuntu 18.04 LTS. (CVE-2018-17205)

It was discovered that Open vSwitch incorrectly handled BUNDLE action decoding. A remote attacker could possibly use this issue to cause Open vSwitch to crash, resulting in a denial of service. (CVE-2018-17206)

Record
USN-3873-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
openvswitch
Debian:12
before 2.10.0+2018.08.28+git.8ca7c82b7d+ds1-1
2.10.0+2018.08.28+git.8ca7c82b7d+ds1-1
openvswitch
Debian:13
before 2.10.0+2018.08.28+git.8ca7c82b7d+ds1-1
2.10.0+2018.08.28+git.8ca7c82b7d+ds1-1
openvswitch
Debian:14
before 2.10.0+2018.08.28+git.8ca7c82b7d+ds1-1
2.10.0+2018.08.28+git.8ca7c82b7d+ds1-1
openvswitch
Red Hat:enterprise_linux:7::hypervisor
From an advisory covering 3 CVEs
before 0:2.9.0-70.el7fdp.1
0:2.9.0-70.el7fdp.1
openvswitch-debuginfo
Red Hat:enterprise_linux:7::hypervisor
From an advisory covering 3 CVEs
before 0:2.9.0-70.el7fdp.1
0:2.9.0-70.el7fdp.1
openvswitch-devel
Red Hat:enterprise_linux:7::hypervisor
From an advisory covering 3 CVEs
before 0:2.9.0-70.el7fdp.1
0:2.9.0-70.el7fdp.1
openvswitch-ovn-common
Red Hat:enterprise_linux:7::hypervisor
From an advisory covering 3 CVEs
before 0:2.9.0-70.el7fdp.1
0:2.9.0-70.el7fdp.1
openvswitch-ovn-host
Red Hat:enterprise_linux:7::hypervisor
From an advisory covering 3 CVEs
before 0:2.9.0-70.el7fdp.1
0:2.9.0-70.el7fdp.1
python-openvswitch
Red Hat:enterprise_linux:7::hypervisor
From an advisory covering 3 CVEs
before 0:2.9.0-70.el7fdp.1
0:2.9.0-70.el7fdp.1
openvswitch
Red Hat:enterprise_linux:7::fastdatapath
From an advisory covering 3 CVEs
before 0:2.9.0-70.el7fdp.1
0:2.9.0-70.el7fdp.1
Show 30 moreShow less
Affected packages
PackageAffectedFixed
openvswitch-debuginfo
Red Hat:enterprise_linux:7::fastdatapath
From an advisory covering 3 CVEs
before 0:2.9.0-70.el7fdp.1
0:2.9.0-70.el7fdp.1
openvswitch-devel
Red Hat:enterprise_linux:7::fastdatapath
From an advisory covering 3 CVEs
before 0:2.9.0-70.el7fdp.1
0:2.9.0-70.el7fdp.1
openvswitch-ovn-central
Red Hat:enterprise_linux:7::fastdatapath
From an advisory covering 3 CVEs
before 0:2.9.0-70.el7fdp.1
0:2.9.0-70.el7fdp.1
openvswitch-ovn-common
Red Hat:enterprise_linux:7::fastdatapath
From an advisory covering 3 CVEs
before 0:2.9.0-70.el7fdp.1
0:2.9.0-70.el7fdp.1
openvswitch-ovn-host
Red Hat:enterprise_linux:7::fastdatapath
From an advisory covering 3 CVEs
before 0:2.9.0-70.el7fdp.1
0:2.9.0-70.el7fdp.1
openvswitch-ovn-vtep
Red Hat:enterprise_linux:7::fastdatapath
From an advisory covering 3 CVEs
before 0:2.9.0-70.el7fdp.1
0:2.9.0-70.el7fdp.1
openvswitch-test
Red Hat:enterprise_linux:7::fastdatapath
From an advisory covering 3 CVEs
before 0:2.9.0-70.el7fdp.1
0:2.9.0-70.el7fdp.1
python-openvswitch
Red Hat:enterprise_linux:7::fastdatapath
From an advisory covering 3 CVEs
before 0:2.9.0-70.el7fdp.1
0:2.9.0-70.el7fdp.1
openvswitch
Red Hat:openstack:10::el7
From an advisory covering 3 CVEs
before 0:2.9.0-83.el7fdp.1
0:2.9.0-83.el7fdp.1
openvswitch-debuginfo
Red Hat:openstack:10::el7
From an advisory covering 3 CVEs
before 0:2.9.0-83.el7fdp.1
0:2.9.0-83.el7fdp.1
openvswitch-devel
Red Hat:openstack:10::el7
From an advisory covering 3 CVEs
before 0:2.9.0-83.el7fdp.1
0:2.9.0-83.el7fdp.1
openvswitch-ovn-central
Red Hat:openstack:10::el7
From an advisory covering 3 CVEs
before 0:2.9.0-83.el7fdp.1
0:2.9.0-83.el7fdp.1
openvswitch-ovn-common
Red Hat:openstack:10::el7
From an advisory covering 3 CVEs
before 0:2.9.0-83.el7fdp.1
0:2.9.0-83.el7fdp.1
openvswitch-ovn-host
Red Hat:openstack:10::el7
From an advisory covering 3 CVEs
before 0:2.9.0-83.el7fdp.1
0:2.9.0-83.el7fdp.1
openvswitch-ovn-vtep
Red Hat:openstack:10::el7
From an advisory covering 3 CVEs
before 0:2.9.0-83.el7fdp.1
0:2.9.0-83.el7fdp.1
python-openvswitch
Red Hat:openstack:10::el7
From an advisory covering 3 CVEs
before 0:2.9.0-83.el7fdp.1
0:2.9.0-83.el7fdp.1
openvswitch-test
Red Hat:openstack:10::el7
From an advisory covering 3 CVEs
before 0:2.9.0-83.el7fdp.1
0:2.9.0-83.el7fdp.1
openvswitch
Red Hat:openstack:13::el7
From an advisory covering 3 CVEs
before 0:2.9.0-83.el7fdp.1
0:2.9.0-83.el7fdp.1
openvswitch-debuginfo
Red Hat:openstack:13::el7
From an advisory covering 3 CVEs
before 0:2.9.0-83.el7fdp.1
0:2.9.0-83.el7fdp.1
openvswitch-ovn-central
Red Hat:openstack:13::el7
From an advisory covering 3 CVEs
before 0:2.9.0-83.el7fdp.1
0:2.9.0-83.el7fdp.1
openvswitch-ovn-common
Red Hat:openstack:13::el7
From an advisory covering 3 CVEs
before 0:2.9.0-83.el7fdp.1
0:2.9.0-83.el7fdp.1
openvswitch-ovn-host
Red Hat:openstack:13::el7
From an advisory covering 3 CVEs
before 0:2.9.0-83.el7fdp.1
0:2.9.0-83.el7fdp.1
openvswitch-ovn-vtep
Red Hat:openstack:13::el7
From an advisory covering 3 CVEs
before 0:2.9.0-83.el7fdp.1
0:2.9.0-83.el7fdp.1
python-openvswitch
Red Hat:openstack:13::el7
From an advisory covering 3 CVEs
before 0:2.9.0-83.el7fdp.1
0:2.9.0-83.el7fdp.1
openvswitch-test
Red Hat:openstack:13::el7
From an advisory covering 3 CVEs
before 0:2.9.0-83.el7fdp.1
0:2.9.0-83.el7fdp.1
openvswitch
SUSE:Linux Enterprise Server 12 SP3
From an advisory covering 3 CVEs
before 2.7.6-3.23.1
2.7.6-3.23.1
openvswitch
SUSE:Linux Enterprise Server for SAP Applications 12 SP3
From an advisory covering 3 CVEs
before 2.7.6-3.23.1
2.7.6-3.23.1
openvswitch
Ubuntu:18.04:LTS
before 2.9.2-0ubuntu0.18.04.3, plus listed versions
2.8.0-0ubuntu22.8.1-0ubuntu22.8.1-0ubuntu32.9.0~git20180205.5a39582ca-0ubuntu12.9.0-0ubuntu12.9.2-0ubuntu0.18.04.2
2.9.2-0ubuntu0.18.04.3
openvswitch
Ubuntu:16.04:LTS
From an advisory covering 3 CVEs
before 2.5.5-0ubuntu0.16.04.2, plus listed versions
2.4.0-0ubuntu42.4.0-0ubuntu52.5.0~git20160129.46a88d9-0ubuntu12.5.0~git20160219.522aca6-0ubuntu12.5.0~git20160219.522aca6-0ubuntu2
Show 7 moreShow less
2.5.0~git20160219.522aca6-0ubuntu32.5.0-0ubuntu12.5.2-0ubuntu0.16.04.12.5.2-0ubuntu0.16.04.22.5.2-0ubuntu0.16.04.32.5.4-0ubuntu0.16.04.12.5.5-0ubuntu0.16.04.1
2.5.5-0ubuntu0.16.04.2
openvswitch
Ubuntu:18.04:LTS
From an advisory covering 3 CVEs
before 2.9.2-0ubuntu0.18.04.3, plus listed versions
2.8.0-0ubuntu22.8.1-0ubuntu22.8.1-0ubuntu32.9.0~git20180205.5a39582ca-0ubuntu12.9.0-0ubuntu12.9.2-0ubuntu0.18.04.2
2.9.2-0ubuntu0.18.04.3

History

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2018-17205 is a high vulnerability (CVSS 7.5) in Canonical Ubuntu Linux, published September 19, 2018. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.53%, the 84th percentile. Fixed in openvswitch 2.10.0+2018.08.28+git.8ca7c82b7d+ds1-1.

References

Show 40 moreShow less
MoveEnter Open