🔍 CVE-2026-89546

9.8
CVSS Score
CRITICAL
2026-09-11
2026-10-19 09:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 SUNRPC 구성 요소에서 NFS 콜백 서비스가 파괴되기 전에 백채널이 적절히 닫히지 않아 발생하는 취약점입니다. 서비스 종료 과정에서 레이스 컨디션(Race Condition)이 발생하여 메모리 누수나 이미 해제된 서비스 객체에 대한 잘못된 참조가 발생할 수 있습니다.

💡 쉬운 설명

컴퓨터 시스템이 종료되는 과정에서 데이터 통로를 제대로 닫지 않아 발생하는 오류입니다. 이로 인해 시스템의 메모리가 낭비되거나 시스템이 예기치 않게 충돌할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: SUNRPC: close backchannel before destroying callback service A backchannel receive can complete a request while the NFS callback service is being torn down. xprt_complete_bc_request() removes the request from bc_pa_list, drops bc_alloc_count, marks the request in use, and then asks xprt_enqueue_bc_request() to hand it to the callback service. If teardown has already cleared xprt->bc_serv, xprt_enqueue_bc_request() currently returns without enqueueing or freeing the committed request. The xprt_get() taken on entry is leaked as well. If the producer wins the race before bc_serv is cleared, it can also enqueue onto sv_cb_list after nfs_callback_down() has stopped the callback threads, leaving the request linked to a svc_serv that is about to be freed. Close the producer side before callback threads are stopped. Add xprt_svc_shutdown_bc() to clear xprt->bc_serv under bc_pa_lock, and call it on callback shutdown and callback-start failure before stopping the service threads. Requests that lose the NULL transition in xprt_enqueue_bc_request() are released through the normal backchannel free path after balancing bc_slot_count. Finally, drain any remaining sv_cb_list requests after the callback threads have stopped and before svc_destroy() frees the service.

📍 영향받는 시스템

Linux Kernel (SUNRPC/NFS 관련 모듈 사용 시스템)

⚔️ 공격 벡터

로컬 또는 네트워크를 통한 특정 시점의 레이스 컨디션 유도

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel