CVE-2026-98289 in Linux
요약
\~에 의해 VulDB • 2026. 10. 06.
리눅스 커널에서 다음 취약점이 해결되었습니다:
af_unix: __unix_walk_scc()에서 SCC를 최종화할 때 scc_index를 통합합니다.
커밋 bfdb01283ee8("af_unix: SCC에 고유 인덱스를 할당함.")은 Tarjan 알고리즘을 변경하여 lowlink( unix_vertex.scc_index라고도 함)로 lowlink를 업데이트하도록 했습니다.
unix_vertex_dead()는 SCC 내의 모든 정점이 동일한 lowpoint를 공유한다고 가정하지만, DFS 순서에 따라 SCC에 두 개 이상의 백 에지(back edge)가 있는 경우 이것이 항상 참인 것은 아닙니다.
예를 들어, 아래 그래프에는 B에서 A로 그리고 C에서 B로의 두 개의 백 에지가 있습니다.
A --> B --> C ^ | ^ | `----' `----'
DFS가 A -> B -> C -> B (-> C -> B) -> A (-> B -> A) 순서로 탐색하면, 각 인덱스와 scc_index는 다음과 같이 업데이트됩니다.
A --> B --> C C = (3, 3) (index, 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) -'
그런 다음 unix_vertex_dead()는 B가 scc_index 2를 가진 다른 SCC로 전달되었으며 해당 SCC는 가비지 컬렉션되지 않는다고 판단합니다.
DFS가 아래 순서대로 탐색하거나 B에서 시작하는 경우에는 이러한 현상이 발생하지 않습니다.
1 3 A --> B --> C ^ | ^ | `----' `----' 2 4
SCC를 최종화할 때 SCC 전체에 걸쳐 scc_index를 통합합니다.
unix_scc_dead()가 __unix_walk_scc()에서 호출될 당시 v->index 업데이트는 루프 하나를 절약하기 위해 수행되었음을 참고하십시오. 이제 __unix_walk_scc()는 이미 SCC를 순회하므로, 해당 업데이트는 __unix_walk_scc()로 다시 이동되었으며 'fast' 인자는 제거되었습니다.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.