CVE-2026-89549 in Linux
요약
\~에 의해 VulDB • 2026. 09. 12.
리눅스 커널에서 다음 취약점이 해결되었습니다:
sunrpc: svc_pool_for_cpu()에서 채워진 풀(pool)으로의 라우팅
svc_set_num_threads()는 요청된 스레드를 서비스의 풀들 전반에 균등하게 분배합니다(base = nrservs / sv_nrpools). 특정 서비스가 자신의 풀 수보다 적은 스레드로 실행되는 경우(예: "pernode" 또는 "percpu" 모드에서 호스트의 NUMA 노드 수보다 적은 스레드로 구성된 nfsd) 후행하는 풀들에는 아예 스레드가 할당되지 않습니다.
svc_xprt_enqueue()는 트랜스포트(transports)를 처리하는 CPU로부터 풀을 선택하고, 해당 풀의 sp_xprts에 트랜스포트를 큐에 추가한 다음 동일한 풀의 스레드 하나만 깨웁니다. 각 스레드는 자신의 풀만을 독점적으로 서비스하므로, 스레드가 없는 풀에 할당된 트랜스포트는 sp_xprts에 큐에 추가되지만 결코 처리되지 않습니다: 연결이 무기한으로 멈춥니다.
svc_pool_for_cpu()가 현재 스레드가 없는 풀을 건너뛰고 다음 채워진 풀로 대체(fallback)하도록 합니다. 이는 NUMA 지역성(locality) 대신 작업이 실제로 서비스된다는 보장을 취합니다. sp_nrthreads는 서비스 뮤텍스 하에서만 업데이트되므로, 여기서의 잠금 해제 읽기(lockless read)는 최선의 노력(best-effort) 라우팅 힌트이며 따라서 data_race()로 주석 처리됩니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.