IM
IronMonkey Threat Research

CVE-2024-53057 HIGH

Published: 2024-11-19 | Last Modified: 2026-05-12 | Status: Modified

Description

In the Linux kernel, the following vulnerability has been resolved: net/sched: stop qdisc_tree_reduce_backlog on TC_H_ROOT In qdisc_tree_reduce_backlog, Qdiscs with major handle ffff: are assumed to be either root or ingress. This assumption is bogus since it's valid to create egress qdiscs with major handle ffff: Budimir Markovic found that for qdiscs like DRR that maintain an active class list, it will cause a UAF with a dangling class pointer. In 066a3b5b2346, the concern was to avoid iterating over the ingress qdisc since its parent is itself. The proper fix is to stop when parent TC_H_ROOT is reached because the only way to retrieve ingress is when a hierarchy which does not contain a ffff: major handle call into qdisc_lookup with TC_H_MAJ(TC_H_ROOT). In the scenario where major ffff: is an egress qdisc in any of the tree levels, the updates will also propagate to TC_H_ROOT, which then the iteration must stop. net/sched/sch_api.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)

Additional Descriptions (1)

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net/sched: stop qdisc_tree_reduce_backlog en TC_H_ROOT En qdisc_tree_reduce_backlog, se supone que las Qdisc con el identificador principal ffff: son raíz o de entrada. Esta suposición es falsa ya que es válido crear qdiscs de salida con el identificador principal ffff: Budimir Markovic descubrió que para las qdisc como DRR que mantienen una lista de clases activa, provocará un UAF con un puntero de clase colgante. En 066a3b5b2346, la preocupación era evitar iterar sobre la qdisc de entrada ya que su padre es ella misma. La solución adecuada es detener cuando se alcanza el padre TC_H_ROOT porque la única forma de recuperar la entrada es cuando una jerarquía que no contiene un identificador principal ffff: llama a qdisc_lookup con TC_H_MAJ(TC_H_ROOT). En el escenario donde el ffff principal es una qdisc de salida en cualquiera de los niveles del árbol, las actualizaciones también se propagarán a TC_H_ROOT, donde luego la iteración debe detenerse. net/sched/sch_api.c | 2 +- 1 archivo modificado, 1 inserción(+), 1 eliminación(-)

CVSS Metrics

Base Score: 7.8 (HIGH)

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

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

Source: [email protected]

Type: Primary

Exploitability Score: 1.8

Impact Score: 5.9

Weaknesses

Source Type Description
[email protected] Primary
en CWE-416
134c704f-9b21-4f2e-91b3-4a467353bcc0 Secondary
en CWE-416

Affected Products

Vendor Product Version Update Type
linux linux_kernel * <built-in method update of dict object at 0x7fd3703cd2c0> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd360616dc0> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd3703cc280> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd31b220bc0> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd3703cde80> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd3703cd840> Operating System
linux linux_kernel * <built-in method update of dict object at 0x7fd360616c80> Operating System
linux linux_kernel 6.12 <built-in method update of dict object at 0x7fd368660740> Operating System
linux linux_kernel 6.12 <built-in method update of dict object at 0x7fd3606155c0> Operating System
linux linux_kernel 6.12 <built-in method update of dict object at 0x7fd3703cd880> Operating System
linux linux_kernel 6.12 <built-in method update of dict object at 0x7fd2d82dc800> Operating System
linux linux_kernel 6.12 <built-in method update of dict object at 0x7fd39c4e0800> 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.12:rc1:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:6.12:rc2:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:6.12:rc3:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:6.12:rc4:*:*:*:*:*:*
Yes cpe:2.3:o:linux:linux_kernel:6.12:rc5:*:*:*:*:*:*

References