CVE-2023-53843 in Linux
要約
〜によって VulDB • 2026年05月23日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
net: openvswitch: 負のifindexを拒否する
net-nextにおける最近の変更(コミット 759ab1edb56c ("net: store netdevs in an xarray")により、事前に割り当てられたifindexesの処理がリファクタリングされ、syzbotによってovsにおける潜在的な問題が表面化しました。ovsはifindexを検証していないため、負のifindex値を持つnetdevポートを作成することが可能でした。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 ...
入力を検証します。これで2番目のコマンドは正しく以下を返すようになりました:
$ ./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'}
0は以前は黙って無視されていたため、受け入れます。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.