CVE-2025-38162

In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_set_pipapo: prevent overflow in lookup table allocation When calculating the lookup table size, ensure the following multiplication does not overflow: - desc->field_len[] maximum value is U8_MAX multiplied by NFT_PIPAPO_GROUPS_PER_BYTE(f) that can be 2, worst case. - NFT_PIPAPO_BUCKETS(f->bb) is 2^8, worst case. - sizeof(unsigned long), from sizeof(*f->lt), lt in struct nft_pipapo_field. Then, use check_mul_overflow() to multiply by bucket size and then use check_add_overflow() to the alignment for avx2 (if needed). Finally, add lt_size_check_overflow() helper and use it to consolidate this. While at it, replace leftover allocation using the GFP_KERNEL to GFP_KERNEL_ACCOUNT for consistency, in pipapo_resize().
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

20 Nov 2025, 19:44

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/43fe1181f738295624696ae9ff611790edb65b5e - () https://git.kernel.org/stable/c/43fe1181f738295624696ae9ff611790edb65b5e - Patch
References () https://git.kernel.org/stable/c/4c5c6aa9967dbe55bd017bb509885928d0f31206 - () https://git.kernel.org/stable/c/4c5c6aa9967dbe55bd017bb509885928d0f31206 - Patch
References () https://git.kernel.org/stable/c/c1360ac8156c0a3f2385baef91d8d26fd9d39701 - () https://git.kernel.org/stable/c/c1360ac8156c0a3f2385baef91d8d26fd9d39701 - Patch
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
First Time Linux
Linux linux Kernel
CWE NVD-CWE-noinfo
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5

03 Jul 2025, 15:13

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: netfilter: nft_set_pipapo: evitar el desbordamiento en la asignación de la tabla de búsqueda Al calcular el tamaño de la tabla de búsqueda, asegúrese de que la siguiente multiplicación no se desborde: - desc->field_len[] el valor máximo es U8_MAX multiplicado por NFT_PIPAPO_GROUPS_PER_BYTE(f) que puede ser 2, en el peor de los casos. - NFT_PIPAPO_BUCKETS(f->bb) es 2^8, en el peor de los casos. - sizeof(unsigned long), de sizeof(*f->lt), lt en struct nft_pipapo_field. Luego, use check_mul_overflow() para multiplicar por el tamaño del depósito y luego use check_add_overflow() para la alineación de avx2 (si es necesario). Finalmente, agregue el ayudante lt_size_check_overflow() y úselo para consolidar esto. Mientras tanto, reemplace la asignación restante usando GFP_KERNEL a GFP_KERNEL_ACCOUNT para mantener la consistencia, en pipapo_resize().

03 Jul 2025, 09:15

Type Values Removed Values Added
New CVE

Information

Published : 2025-07-03 09:15

Updated : 2025-11-20 19:44


NVD link : CVE-2025-38162

Mitre link : CVE-2025-38162

CVE.ORG link : CVE-2025-38162


JSON object : View

Products Affected

linux

  • linux_kernel