CVE-2026-98289
Sumário
de VulDB • 06/10/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
af_unix: Unificar scc_index ao finalizar o SCC em __unix_walk_scc().
O commit bfdb01283ee8 ("af_unix: Atribuir um índice único para SCC.") alterou o algoritmo de Tarjan para atualizar lowlink com lowlink, que é chamado de lowpoint (unix_vertex.scc_index).
unix_vertex_dead() assume que todos os vértices em um SCC compartilham o mesmo lowpoint, mas isso nem sempre é verdade se um SCC tiver duas ou mais arestas de retorno (back edges), dependendo da ordem do DFS.
Por exemplo, o grafo abaixo tem duas arestas de retorno de B para A e de C para B.
A --> B --> C ^ | ^ | `----' `----'
Se o DFS percorrer por A -> B -> C -> B (-> C -> B) -> A (-> B -> A), cada índice e scc_index serão atualizados da seguinte forma:
A --> B --> C C = (3, 3) (índice, scc_index) B = (2, 2) A = (1, 1)
A ... B ... C C = (3, 2)<-. ^ | B = (2, 2) -' `----' A = (1, 1)
A ... B ... C C = (3, 2) ^ | . . B = (2, 1)<-. `----' .... A = (1, 1) -'
Em seguida, unix_vertex_dead() pensa que B foi passado para outro SCC com scc_index 2, e o SCC não é coletado como lixo.
Isso não acontece se o DFS percorrer em uma ordem diferente abaixo ou começar a partir de B.
1 3 A --> B --> C ^ | ^ | `----' `----' 2 4
Vamos unificar scc_index através do SCC ao finalizá-lo.
Observe que atualizar v->index era feito anteriormente em unix_scc_dead(), quando chamado de __unix_walk_scc(), apenas para economizar um loop. Como __unix_walk_scc() agora itera sobre o SCC, a atualização é movida de volta para __unix_walk_scc() e o argumento 'fast' é removido.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.