IM
IronMonkey Threat Research

CVE-2024-39503 HIGH

Published: 2024-07-12 | Last Modified: 2026-08-04 | Status: Modified

Description

In the Linux kernel, the following vulnerability has been resolved: netfilter: ipset: Fix race between namespace cleanup and gc in the list:set type Lion Ackermann reported that there is a race condition between namespace cleanup in ipset and the garbage collection of the list:set type. The namespace cleanup can destroy the list:set type of sets while the gc of the set type is waiting to run in rcu cleanup. The latter uses data from the destroyed set which thus leads use after free. The patch contains the following parts: - When destroying all sets, first remove the garbage collectors, then wait if needed and then destroy the sets. - Fix the badly ordered "wait then remove gc" for the destroy a single set case. - Fix the missing rcu locking in the list:set type in the userspace test case. - Use proper RCU list handlings in the list:set type. The patch depends on c1193d9bbbd3 (netfilter: ipset: Add list flush to cancel_gc).

Additional Descriptions (1)

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: netfilter: ipset: corrige la ejecución entre la limpieza del espacio de nombres y gc en el tipo list:set Lion Ackermann informó que existe una condición de ejecución entre la limpieza del espacio de nombres en ipset y la recolección de basura de la lista : establecer tipo. La limpieza del espacio de nombres puede destruir el tipo list:set de conjuntos mientras el gc del tipo set espera ejecutarse en la limpieza de rcu. Este último utiliza datos del conjunto destruido, lo que lleva a un uso posterior al gratuito. El parche contiene las siguientes partes: - Al destruir todos los conjuntos, primero retire los recolectores de basura, luego espere si es necesario y luego destruya los conjuntos. - Se corrigió el error "esperar y luego eliminar gc" mal ordenado para destruir un solo caso de conjunto. - Corrija el bloqueo de rcu que falta en la lista: establezca el tipo en el caso de prueba del espacio de usuario. - Utilice el manejo adecuado de la lista de RCU en el tipo list:set. El parche depende de c1193d9bbbd3 (netfilter: ipset: Agregar lista vaciada a cancel_gc).

CVSS Metrics

Base Score: 7.0 (HIGH)

CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

Attack VectorLOCAL
Attack ComplexityHIGH
Privileges RequiredLOW
User InteractionNONE
ScopeUNCHANGED
Confidentiality ImpactHIGH
Integrity ImpactHIGH
Availability ImpactHIGH

Source: [email protected]

Type: Primary

Exploitability Score: 1.0

Impact Score: 5.9

Weaknesses

Source Type Description
[email protected] Primary
en CWE-362
en CWE-416

Affected Products

Vendor Product Version Update Type
linux linux_kernel * <built-in method update of dict object at 0x7fd36b37fe80> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd360696680> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd3848e07c0> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd3703cf1c0> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd36b37fcc0> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd3606976c0> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd36b8d18c0> Operating System
linux linux_kernel 6.8 <built-in method update of dict object at 0x7fd3703cca40> Operating System
linux linux_kernel 6.8 <built-in method update of dict object at 0x7fd3703ceec0> Operating System
linux linux_kernel 6.8 <built-in method update of dict object at 0x7fd36b37c400> Operating System
linux linux_kernel 6.8 <built-in method update of dict object at 0x7fd341208940> Operating System
linux linux_kernel 6.8 <built-in method update of dict object at 0x7fd360696780> Operating System
linux linux_kernel 6.8 <built-in method update of dict object at 0x7fd36a6d18c0> Operating System
linux linux_kernel 6.10 <built-in method update of dict object at 0x7fd368d09d80> Operating System
linux linux_kernel 6.10 <built-in method update of dict object at 0x7fd36b3f0640> Operating System
linux linux_kernel 6.10 <built-in method update of dict object at 0x7fd3848e2900> Operating System

Affected Configurations

Operator: OR

Vulnerable CPE
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:6.8:-:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:6.8:rc3:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:6.8:rc4:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:6.8:rc5:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:6.8:rc6:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:6.8:rc7:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:6.10:rc1:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:6.10:rc2:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:6.10:rc3:*:*:*:*:*:*

References