CVE-2026-80521
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
26/08/2026
Última modificación:
27/08/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
af_unix: Unlink scc_entry in unix_del_edge().<br />
<br />
Kyle Zeng reported that GC could free a dead SCC partially.<br />
<br />
The scenario is as follows:<br />
<br />
1) Create two SCCs:<br />
<br />
X -. A B<br />
^--&#39;<br />
<br />
2) Run the following concurrently:<br />
<br />
2-1) send() sk-B to sk-B from sk-X<br />
2-2) close() both A and B<br />
<br />
At 2-1), there is a small window where unix_add_edges()<br />
publishes a new edge (B B) to GC but its skb is not queued<br />
by skb_queue_tail().<br />
<br />
If 2-2) completes before skb_queue_tail() and GC is triggered,<br />
it judges A B as dead, but B is not freed because GC cannot<br />
collect the not-yet-queued skb holding the B B edge.<br />
<br />
X -. A B -. This edge is visible<br />
^--&#39; ^..&#39; but skb is not<br />
<br />
This itself is not a problem since the next GC run will judge<br />
B as dead as well and free it finally.<br />
<br />
X -. A B -.<br />
^--&#39; ^--&#39;<br />
<br />
However, X&#39;s SCC forces the next GC to call unix_walk_scc_fast(),<br />
and it iterates over A through B&#39;s scc_entry.<br />
<br />
Let&#39;s unlink scc_entry before freeing the vertex in unix_del_edge().
Impacto
Puntuación base 3.x
7.80
Gravedad 3.x
ALTA



