CVE-2022-48746

In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: Fix handling of wrong devices during bond netevent Current implementation of bond netevent handler only check if the handled netdev is VF representor and it missing a check if the VF representor is on the same phys device of the bond handling the netevent. Fix by adding the missing check and optimizing the check if the netdev is VF representor so it will not access uninitialized private data and crashes. BUG: kernel NULL pointer dereference, address: 000000000000036c PGD 0 P4D 0 Oops: 0000 [#1] SMP NOPTI Workqueue: eth3bond0 bond_mii_monitor [bonding] RIP: 0010:mlx5e_is_uplink_rep+0xc/0x50 [mlx5_core] RSP: 0018:ffff88812d69fd60 EFLAGS: 00010282 RAX: 0000000000000000 RBX: ffff8881cf800000 RCX: 0000000000000000 RDX: ffff88812d69fe10 RSI: 000000000000001b RDI: ffff8881cf800880 RBP: ffff8881cf800000 R08: 00000445cabccf2b R09: 0000000000000008 R10: 0000000000000004 R11: 0000000000000008 R12: ffff88812d69fe10 R13: 00000000fffffffe R14: ffff88820c0f9000 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff88846fb00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000000000036c CR3: 0000000103d80006 CR4: 0000000000370ea0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: mlx5e_eswitch_uplink_rep+0x31/0x40 [mlx5_core] mlx5e_rep_is_lag_netdev+0x94/0xc0 [mlx5_core] mlx5e_rep_esw_bond_netevent+0xeb/0x3d0 [mlx5_core] raw_notifier_call_chain+0x41/0x60 call_netdevice_notifiers_info+0x34/0x80 netdev_lower_state_changed+0x4e/0xa0 bond_mii_monitor+0x56b/0x640 [bonding] process_one_work+0x1b9/0x390 worker_thread+0x4d/0x3d0 ? rescuer_thread+0x350/0x350 kthread+0x124/0x150 ? set_kthread_struct+0x40/0x40 ret_from_fork+0x1f/0x30
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.17:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.17:rc2:*:*:*:*:*:*

History

06 Jan 2025, 21:29

Type Values Removed Values Added
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.17:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.17:rc2:*:*:*:*:*:*
First Time Linux linux Kernel
Linux
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
References () https://git.kernel.org/stable/c/4fad499d7fece448e7230d5e5b92f6d8a073e0bb - () https://git.kernel.org/stable/c/4fad499d7fece448e7230d5e5b92f6d8a073e0bb - Patch
References () https://git.kernel.org/stable/c/a01ee1b8165f4161459b5ec4e728bc7130fe8cd4 - () https://git.kernel.org/stable/c/a01ee1b8165f4161459b5ec4e728bc7130fe8cd4 - Patch
References () https://git.kernel.org/stable/c/ec41332e02bd0acf1f24206867bb6a02f5877a62 - () https://git.kernel.org/stable/c/ec41332e02bd0acf1f24206867bb6a02f5877a62 - Patch
References () https://git.kernel.org/stable/c/fe70126da6063c29ca161cdec7ad1dae9af836b3 - () https://git.kernel.org/stable/c/fe70126da6063c29ca161cdec7ad1dae9af836b3 - Patch
CWE CWE-476

21 Nov 2024, 07:33

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/4fad499d7fece448e7230d5e5b92f6d8a073e0bb - () https://git.kernel.org/stable/c/4fad499d7fece448e7230d5e5b92f6d8a073e0bb -
References () https://git.kernel.org/stable/c/a01ee1b8165f4161459b5ec4e728bc7130fe8cd4 - () https://git.kernel.org/stable/c/a01ee1b8165f4161459b5ec4e728bc7130fe8cd4 -
References () https://git.kernel.org/stable/c/ec41332e02bd0acf1f24206867bb6a02f5877a62 - () https://git.kernel.org/stable/c/ec41332e02bd0acf1f24206867bb6a02f5877a62 -
References () https://git.kernel.org/stable/c/fe70126da6063c29ca161cdec7ad1dae9af836b3 - () https://git.kernel.org/stable/c/fe70126da6063c29ca161cdec7ad1dae9af836b3 -
Summary
  • (es) En el kernel de Linux, se resolvió la siguiente vulnerabilidad: net/mlx5e: Se corrigió el manejo de dispositivos incorrectos durante el bond netevent. La implementación actual del controlador bond netevent solo verifica si el netdev manejado es el representante VF y falta una verificación si el representante VF está activado. el mismo dispositivo físico del vínculo que maneja el evento neto. Para solucionarlo, agregue la verificación que falta y optimice la verificación si netdev es el representante de VF para que no acceda a datos privados no inicializados y se bloquee. ERROR: desreferencia del puntero NULL del kernel, dirección: 000000000000036c PGD 0 P4D 0 Ups: 0000 [#1] Cola de trabajo SMP NOPTI: eth3bond0 bond_mii_monitor [unión] RIP: 0010:mlx5e_is_uplink_rep+0xc/0x50 [mlx5_core] RSP: 018:ffff88812d69fd60 EFLAGS: 00010282 RAX: 0000000000000000 RBX: ffff8881cf800000 RCX: 0000000000000000 RDX: ffff88812d69fe10 RSI: 0000000000000001b RDI: ffff8881cf800880 RBP: ffff8881 cf800000 R08: 00000445cabccf2b R09: 0000000000000008 R10: 0000000000000004 R11: 0000000000000008 R12: ffff88812d69fe10 R13: 00000000ffffffe R 14: ffff88820c0f9000 R15: 0000000000000000 FS: 0000000000000000(0000 ) GS:ffff88846fb00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000000000036c CR3: 0000000103d80 006 CR4: 0000000000370ea0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 00000000000000000 DR6: 00000000ffe0ff0 000000000000400 Llamar Seguimiento: mlx5e_eswitch_uplink_rep+0x31/0x40 [mlx5_core] mlx5e_rep_is_lag_netdev+0x94/0xc0 [mlx5_core] mlx5e_rep_esw_bond_netevent+0xeb/0x3d0 [mlx5_core] raw_notifier_call_chain+0x41/0x60 _notifiers_info+0x34/0x80 netdev_lower_state_changed+0x4e/0xa0 bond_mii_monitor+0x56b/0x640 [vinculación] proceso_one_work +0x1b9/0x390 hilo_trabajador+0x4d/0x3d0 ? hilo_rescate+0x350/0x350 khilo+0x124/0x150 ? set_kthread_struct+0x40/0x40 ret_from_fork+0x1f/0x30

20 Jun 2024, 12:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-06-20 12:15

Updated : 2025-01-06 21:29


NVD link : CVE-2022-48746

Mitre link : CVE-2022-48746

CVE.ORG link : CVE-2022-48746


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-476

NULL Pointer Dereference