🔍 CVE-2026-97558

0.0
CVSS Score
UNKNOWN
2026-09-25
2026-10-21 13:21
✅ 완료

🇰🇷 한글 설명

Linux 커널의 SMB 클라이언트에서 cifs_close()가 지연된 종료를 처리할 때 cifsFileInfo 참조가 누수되는 취약점이 발견되었습니다. 특정 경합 조건 상황에서 작업 큐에 작업이 정상적으로 등록되지 않음에도 참조 카운트를 해제하지 않아, tlink, dentry 및 서버 핸들이 메모리에 남게 됩니다.

💡 쉬운 설명

파일을 닫는 과정에서 시스템이 메모리를 정리해야 하는데, 특정 상황에서 정리 작업을 놓쳐 메모리가 계속 쌓이는 문제입니다. 이로 인해 시스템 자원이 낭비되고 장기적으로 성능 저하나 불안정을 초래할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix cifsFileInfo reference leak in deferred close When cifs_close() defers a close, it hands the cifsFileInfo reference of the closing struct file to the queued work. Each execution of smb2_deferred_work_close() drops one such reference. deferred_close_scheduled can be false while the work is pending: the workqueue clears PENDING when the callback starts to run, before the callback clears the flag under deferred_lock. A close in that interval requeues the running work, and the callback then clears the flag, leaving the requeued work pending with the flag down. A later cifs_open() can reuse the handle and its cifs_close() reaches the same branch: queue_delayed_work() fails because the work is still pending, but cifs_close() returns without dropping the closing file's reference. The cifsFileInfo count stays pinned and its tlink, dentry and server handle are leaked. Check the return value and hand off the reference only when work was actually queued. Otherwise, use the shared _cifsFileInfo_put(), like the mod_delayed_work() branch above: the pending execution already owns its reference. This issue was found by an in-house static analysis tool.

📍 영향받는 시스템

Linux Kernel (SMB/CIFS client module 포함 버전)

⚔️ 공격 벡터

직접적인 공격보다는 특정 타이밍에 파일 열기/닫기를 반복하여 자원 고갈을 유도하는 방식

🛡️ 대응 방법

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

🔧 검증 코드

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

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel