CVE-2023-53843 in Linux
الملخص
بحسب VulDB • 10/05/2026
في نواة لينكس، تم حل الثغرة التالية:
net: openvswitch: رفض قيم ifindex السالبة
أدت التغييرات الأخيرة في net-next (الالتزام 759ab1edb56c ("net: store netdevs in an xarray")) إلى إعادة هيكلة معالجة قيم ifindex المسبقة التعيين، مما سمح لـ syzbot بالكشف عن مشكلة كامنة في ovs. لا تقوم ovs بالتحقق من صحة ifindex، مما يتيح إنشاء منافذ netdev بقيم ifindex سالبة. يمكن إعادة إنتاج المشكلة بسهولة باستخدام 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 ...
تم التحقق من صحة المدخلات. الآن، يعيد الأمر الثاني النتيجة الصحيحة التالية:
$ ./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.