🔍 CVE-2026-98289

0.0
CVSS Score
UNKNOWN
2026-10-06
2026-10-19 10:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 af_unix 구성 요소에서 Tarjan 알고리즘을 사용하여 강결합 컴포넌트(SCC)를 식별할 때, 백 에지(back edge)가 여러 개인 경우 SCC 내의 인덱스가 일치하지 않는 취약점이 발견되었습니다. 이로 인해 특정 SCC가 가비지 컬렉션 대상에서 제외되어 메모리 누수가 발생할 수 있습니다.

💡 쉬운 설명

컴퓨터가 메모리를 정리할 때, 서로 연결된 데이터 묶음을 하나의 그룹으로 인식하지 못해 쓰지 않는 데이터가 계속 남아있는 문제가 발생할 수 있습니다. 이로 인해 시스템의 메모리가 조금씩 낭비될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: af_unix: Unify scc_index when finalising SCC in __unix_walk_scc(). Commit bfdb01283ee8 ("af_unix: Assign a unique index to SCC.") changed Tarjan's algorithm to update lowlink with lowlink, which is called lowpoint (unix_vertex.scc_index). unix_vertex_dead() assumes all vertices in an SCC share the same lowpoint, but this is not always true if an SCC has two or more back edges, depending on the order of DFS. For example, the graph below has two back edges from B to A and from C to B. A --> B --> C ^ | ^ | `----' `----' If DFS walks through A -> B -> C -> B (-> C -> B) -> A (-> B -> A), each index and scc_index will be updated as follows. 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) -' Then, unix_vertex_dead() thinks that B is passed to another SCC with scc_index 2, and the SCC is not garbage-collected. This does not happen if DFS walks in a different order below or starts from B. 1 3 A --> B --> C ^ | ^ | `----' `----' 2 4 Let's unify scc_index across the SCC when finalising it. Note that updating v->index was previously done in unix_scc_dead(), when called from __unix_walk_scc(), just to save one loop. Since __unix_walk_scc() now iterates over the SCC anyway, the update is moved back to __unix_walk_scc() and 'fast' argument is dropped.

📍 영향받는 시스템

Linux kernel (af_unix 관련 모듈을 사용하는 모든 버전)

⚔️ 공격 벡터

로컬 공격자가 특수한 네트워크 소켓 구조를 생성하여 메모리 누수를 유도할 수 있음

🛡️ 대응 방법

커널 패치(Commit bfdb01283ee8)를 적용하여 __unix_walk_scc() 함수 내 SCC 인덱스 통합 로직을 업데이트해야 함

🔧 검증 코드

출력된 커널 버전이 해당 패치가 적용된 최신 버전인지 확인하십시오.

Shell / Script
uname -r

💻 영향받는 소프트웨어

NVIDIA Cloud Gaming Guest Driver for Linux