CVE-2026-64142 in Linux정보

요약

\~에 의해 VulDB • 2026. 07. 19.

리눅스 커널에서 다음 취약점이 해결되었습니다:

ksmbd: m_fp_list 조회와의 내구성 스캐빈저(Race Condition) 수정

ksmbd_durable_scavenger()는 f_ci->m_fp_list를 순회하는 모든 워커(ksmbd_lookup_fd_inode()(ksmbd_vfs_rename에서 사용됨 포함) 및 fs/smb/server/smb_common.c의 공유 모드 검사 등)와 관련하여 두 가지 관련 Race Condition을 가지고 있습니다.

(1) fp->node 리스트 헤드 재사용 문제: 내구성이 보존된 핸들은 세션 종료 후에도 f_ci->m_fp_list에 연결된 상태로 남아있어, 핸들이 다시 연결 가능한 동안 공유 모드 검사가 이를 여전히 인식합니다. 스캐빈저는 전역 durable idr에서 제거한 후 fp->node를 로컬 scavenger_list에 추가하여 만료된 핸들을 수집했습니다. fp->node가 m_fp_list와 동일한 list_head이므로, list_add(&fp->node, &scavenger_list) 호출은 m_fp 링크를 덮어쓰고 두 리스트 모두를 손상시킵니다. CONFIG_DEBUG_LIST는 공유 모드 순회 경로에서 이를 보고할 수 있습니다.

(2) m_fp_list 워커와의 참조 카운트 Race Condition: 스캐빈저는 전역_ft.lock 하에서 atomic_read(&fp->refcount) > 1 및 fp->conn 조건을 만족하는 만료된 내구성 핸들을 식별한 후, global_ft에서 fp를 제거합니다. 그런 다음 m_fp_list에서 fp를 분리하고 해제하기 전에 global_ft.lock을 해제합니다. 그 간격 동안 fp는 f_state == FP_INITED 상태로 여전히 m_fp_list에 연결되어 있습니다. m_lock 하의 ksmbd_lookup_fd_inode() 호출은 ksmbd_fp_get()(참조 카운트가 아직 1인 경우 atomic_inc_not_zero)을 수행하고 활성 참조를 획득합니다; 스캐빈저는 그 후 fp를 분리하고 해제하지만, 소유자는 여전히 참조를 보유하고 있으므로 이후 holder의 ksmbd_fd_put() 및 m_fp_list를 순회하면서 ksmbd_fp_get() 없이 필드 읽기를 수행하는 동시 공유 모드 워커(smb_check_perm_dleases와 유사한 경로)에서 모두 UAF(Use-After-Free)가 발생합니다.

다음과 같이 두 가지를 수정합니다:

* fp->node를 스캐빈저 전용 리스트 노드로 재사용하지 않도록 합니다. global_ft.lock 하에서 전역_ft에서 만료된 핸들 하나를 제거하고, 명시적인 일시적 참조(transient reference)를 획득한 후, 잠금을 해제합니다. 그런 다음 f_ci->m_lock 하에서 fp->node를 m_fp_list에서 분리한 후, atomic_sub_and_test(2, &fp->refcount)로 내구성 수명 및 일시적 참조 둘 다를 해제합니다. 스캐빈저가 마지막 putter인 경우 해당 위치에서 close가 실행됩니다; 그렇지 않으면 이미 m_fp_list 조회 Race Condition을 겪은 인플라이트(in-flight) 홀더가 ksmbd_fd_put() 경로를 통해 최종 close를 소유하게 됩니다. 한 번에 하나씩 처리하는 방식은 동일한 패스에서 여러 핸들이 만료될 때 내구성 idr을 다시 스캔할 수 있지만, 내구성 스캐빈징은 백그라운드 만료 경로이며 마지막 전체 스캔은 다음 대기 전에 min_timeout를 재계산합니다.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

책임이 있는

Linux

예약하다

2026. 07. 19.

모더레이션

수락

항목

VDB-380383

EPSS

0.00000

출처

Want to know what is going to be exploited?

We predict KEV entries!