net: openvswitch: reject negative ifindex (Linux Linux)

CVE-2023-53843
Not available

At a glance

Source
NVD
EPSS
EPSS 0.24 % · percentile 16 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Deferred

Description

In the Linux kernel, the following vulnerability has been resolved: net: openvswitch: reject negative ifindex Recent changes in net-next (commit 759ab1edb56c ("net: store netdevs in an xarray")) refactored the handling of pre-assigned ifindexes and let syzbot surface a latent problem in ovs. ovs does not validate ifindex, making it possible to create netdev ports with negative ifindex values. It's easy to repro with YNL: $ ./cli.py --spec netlink/specs/ovs_datapath.yaml \ --do new \ --json '{"upcall-pid": 1, "name":"my-dp"}' $ ./cli.py --spec netlink/specs/ovs_vport.yaml \ --do new \ --json '{"upcall-pid": "00000001", "name": "some-port0", "dp-ifindex":3,"ifindex":4294901760,"type":2}' $ ip link show -65536: some-port0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 7a:48:21:ad:0b:fb brd ff:ff:ff:ff:ff:ff ... Validate the inputs. Now the second command correctly returns: $ ./cli.py --spec netlink/specs/ovs_vport.yaml \ --do new \ --json '{"upcall-pid": "00000001", "name": "some-port0", "dp-ifindex":3,"ifindex":4294901760,"type":2}' lib.ynl.NlError: Netlink error: Numerical result out of range nl_len = 108 (92) nl_flags = 0x300 nl_type = 2 error: -34 extack: {'msg': 'integer out of range', 'unknown': [[type:4 len:36] b'\x0c\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x03\x00\xff\xff\xff\x7f\x00\x00\x00\x00\x08\x00\x01\x00\x08\x00\x00\x00'], 'bad-attr': '.ifindex'} Accept 0 since it used to be silently ignored.

References

European references

CERT-FR advisories

Affected products

ProductVersions
Linux · Linuxaffected 54c4ef34c4b6f9720fded620e2893894f9f2c554 < c965a58376146dcfdda186819462e8eb3aadef3a ; affected 54c4ef34c4b6f9720fded620e2893894f9f2c554 < 881faff9e548a7ddfb11595be7c1c649217d27db ; affected 54c4ef34c4b6f9720fded620e2893894f9f2c554 < a552bfa16bab4ce901ee721346a28c4e483f4066
Linux · Linuxaffected 6.1 ; unaffected 0 < 6.1 ; unaffected 6.1.47 ≤ 6.1.* ; unaffected 6.4.12 ≤ 6.4.* ; unaffected 6.5 ≤ *

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD