CVE-2024-53209

In the Linux kernel, the following vulnerability has been resolved: bnxt_en: Fix receive ring space parameters when XDP is active The MTU setting at the time an XDP multi-buffer is attached determines whether the aggregation ring will be used and the rx_skb_func handler. This is done in bnxt_set_rx_skb_mode(). If the MTU is later changed, the aggregation ring setting may need to be changed and it may become out-of-sync with the settings initially done in bnxt_set_rx_skb_mode(). This may result in random memory corruption and crashes as the HW may DMA data larger than the allocated buffer size, such as: BUG: kernel NULL pointer dereference, address: 00000000000003c0 PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP NOPTI CPU: 17 PID: 0 Comm: swapper/17 Kdump: loaded Tainted: G S OE 6.1.0-226bf9805506 #1 Hardware name: Wiwynn Delta Lake PVT BZA.02601.0150/Delta Lake-Class1, BIOS F0E_3A12 08/26/2021 RIP: 0010:bnxt_rx_pkt+0xe97/0x1ae0 [bnxt_en] Code: 8b 95 70 ff ff ff 4c 8b 9d 48 ff ff ff 66 41 89 87 b4 00 00 00 e9 0b f7 ff ff 0f b7 43 0a 49 8b 95 a8 04 00 00 25 ff 0f 00 00 <0f> b7 14 42 48 c1 e2 06 49 03 95 a0 04 00 00 0f b6 42 33f RSP: 0018:ffffa19f40cc0d18 EFLAGS: 00010202 RAX: 00000000000001e0 RBX: ffff8e2c805c6100 RCX: 00000000000007ff RDX: 0000000000000000 RSI: ffff8e2c271ab990 RDI: ffff8e2c84f12380 RBP: ffffa19f40cc0e48 R08: 000000000001000d R09: 974ea2fcddfa4cbf R10: 0000000000000000 R11: ffffa19f40cc0ff8 R12: ffff8e2c94b58980 R13: ffff8e2c952d6600 R14: 0000000000000016 R15: ffff8e2c271ab990 FS: 0000000000000000(0000) GS:ffff8e3b3f840000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000000003c0 CR3: 0000000e8580a004 CR4: 00000000007706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 PKRU: 55555554 Call Trace: <IRQ> __bnxt_poll_work+0x1c2/0x3e0 [bnxt_en] To address the issue, we now call bnxt_set_rx_skb_mode() within bnxt_change_mtu() to properly set the AGG rings configuration and update rx_skb_func based on the new MTU value. Additionally, BNXT_FLAG_NO_AGG_RINGS is cleared at the beginning of bnxt_set_rx_skb_mode() to make sure it gets set or cleared based on the current MTU.
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:*:*:*:*:*:*:*:*

History

28 Mar 2025, 22:15

Type Values Removed Values Added
References
  • () https://git.kernel.org/stable/c/7f306c651feab2f3689185f60b94e72b573255db -

06 Mar 2025, 12:42

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bnxt_en: Corregir parámetros de espacio de anillo de recepción cuando XDP está activo La configuración de MTU en el momento en que se adjunta un multi-buffer XDP determina si se utilizará el anillo de agregación y el controlador rx_skb_func. Esto se hace en bnxt_set_rx_skb_mode(). Si la MTU se cambia más tarde, es posible que sea necesario cambiar la configuración del anillo de agregación y que deje de estar sincronizada con la configuración realizada inicialmente en bnxt_set_rx_skb_mode(). Esto puede provocar una corrupción aleatoria de la memoria y fallas, ya que el hardware puede DMA datos más grandes que el tamaño de búfer asignado, como: ERROR: desreferencia de puntero NULL del kernel, dirección: 00000000000003c0 PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP NOPTI CPU: 17 PID: 0 Comm: swapper/17 Kdump: cargado Tainted: GS OE 6.1.0-226bf9805506 #1 Nombre del hardware: Wiwynn Delta Lake PVT BZA.02601.0150/Delta Lake-Class1, BIOS F0E_3A12 26/08/2021 RIP: 0010:bnxt_rx_pkt+0xe97/0x1ae0 [bnxt_en] Código: 8b 95 70 es ff es ff es 4c 8b 9d 48 es ff es ff es 66 41 89 87 b4 00 00 00 e9 0b f7 es ff es 0f b7 43 0a 49 8b 95 a8 04 00 00 25 es ff es 0f 00 00 &lt;0f&gt; b7 14 42 48 c1 e2 06 49 03 95 a0 04 00 00 0f b6 42 33f RSP: 0018:ffffa19f40cc0d18 EFLAGS: 00010202 RAX: 00000000000001e0 RBX: ffff8e2c805c6100 RCX: 000000000000007ff RDX: 00000000000000000 RSI: ffff8e2c271ab990 RDI: ffff8e2c84f12380 RBP: ffffa19f40cc0e48 R08: 000000000001000d R09: 974ea2fcddfa4cbf R10: 000000000000000 R11: ffffa19f40cc0ff8 R12: ffff8e2c94b58980 R13: ffff8e2c952d6600 R14: 0000000000000016 R15: ffff8e2c271ab990 FS: 0000000000000000(0000) GS:ffff8e3b3f840000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000000003c0 CR3: 0000000e8580a004 CR4: 00000000007706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 PKRU: 55555554 Seguimiento de llamadas: __bnxt_poll_work+0x1c2/0x3e0 [bnxt_en] Para solucionar el problema, ahora llamamos a bnxt_set_rx_skb_mode() dentro de bnxt_change_mtu() para configurar correctamente la configuración de anillos AGG y actualizar rx_skb_func en función del nuevo valor de MTU. Además, BNXT_FLAG_NO_AGG_RINGS se borra al comienzo de bnxt_set_rx_skb_mode() para asegurarnos de que se configure o borre en función de la MTU actual.
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
References () https://git.kernel.org/stable/c/3051a77a09dfe3022aa012071346937fdf059033 - () https://git.kernel.org/stable/c/3051a77a09dfe3022aa012071346937fdf059033 - Patch
References () https://git.kernel.org/stable/c/84353386762a0a16dd444ead76c012e167d89b41 - () https://git.kernel.org/stable/c/84353386762a0a16dd444ead76c012e167d89b41 - Patch
References () https://git.kernel.org/stable/c/bf54a7660fc8d2166f41ff1d67a643b15d8b2250 - () https://git.kernel.org/stable/c/bf54a7660fc8d2166f41ff1d67a643b15d8b2250 - Patch
First Time Linux
Linux linux Kernel
CWE CWE-476

27 Dec 2024, 14:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-12-27 14:15

Updated : 2025-03-28 22:15


NVD link : CVE-2024-53209

Mitre link : CVE-2024-53209

CVE.ORG link : CVE-2024-53209


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-476

NULL Pointer Dereference