Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

CVE-2026-53175

Gravedad CVSS v3.1:
CRÍTICA
Tipo:
CWE-416 Utilización después de liberación
Fecha de publicación:
25/06/2026
Última modificación:
15/07/2026

Descripción

*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> inet: frags: fix use-after-free caused by the fqdir_pre_exit() flush<br /> <br /> On netns teardown, fqdir_pre_exit() walks the fqdir rhashtable and<br /> flushes every fragment queue that is not yet complete using<br /> inet_frag_queue_flush(). That helper frees all the skbs queued on the<br /> fragment queue but does not set INET_FRAG_COMPLETE, and leaves<br /> q-&gt;fragments_tail and q-&gt;last_run_head pointing at the freed skbs.<br /> The queue itself stays in the rhashtable.<br /> <br /> fqdir_pre_exit() first lowers high_thresh to 0 to stop new queue lookups,<br /> but it cannot stop a fragment that already obtained the queue through<br /> inet_frag_find() earlier and stalled just before taking the queue lock.<br /> Once that fragment resumes after the flush and takes the queue lock,<br /> it passes the INET_FRAG_COMPLETE check and then dereferences the freed<br /> fragments_tail. inet_frag_queue_insert() reads FRAG_CB() and -&gt;len of<br /> that pointer and, on the append path, writes -&gt;next_frag, causing a<br /> slab use-after-free. IPv6, nf_conntrack_reasm6 and 6lowpan reassembly<br /> share the same flush path and are affected as well.<br /> <br /> Reset rb_fragments, fragments_tail and last_run_head in<br /> inet_frag_queue_flush() so a flushed queue no longer points at the<br /> freed skbs. A fragment that resumes after the flush and takes the<br /> queue lock then finds an empty queue and starts a new run instead of<br /> dereferencing the freed fragments_tail. ip_frag_reinit() already<br /> performed this reset after its own flush, so drop the now duplicate<br /> code there.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.18.3 (incluyendo) 6.18.36 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19.1 (incluyendo) 7.0.13 (excluyendo)
cpe:2.3:o:linux:linux_kernel:6.12.93:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc7:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc8:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*