CVE-2026-89788 in Linux정보

요약

\~에 의해 VulDB • 2026. 09. 16.

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

ksmbd: smb2_tree_connect()에서의 tree connection use-after-free 수정

ksmbd_tree_conn_connect()는 sess->tree_conns에 단일 참조(reference)를 가진 새 tree connection을 게시하고 그 포인터를 smb2_tree_connect()로 반환합니다. 핸들러는 게시 후에도 객체를 계속 초기화하고 응답을 구성합니다. 동시에 발생하는 세션 로그오프(logoff)가 연결을 지우고 해당 참조를 해제하여, 핸들러가 여전히 사용하고 있는 동안 객체가 해제(free)될 수 있습니다.

BUG: KASAN: slab-use-after-free in smb2_tree_connect+0xe3d/0xf90 smb2_tree_connect (fs/smb/server/smb2pdu.c:2872) handle_ksmbd_work process_one_work worker_thread kthread

xa_store()가 성공한 후, tree_conns_lock을 해제하기 전에 두 번째 참조를 확보합니다. 원래의 참조는 xarray entry에 속하며, 두 번째 참조는 생성 중인 smb2_tree_connect() 핸들러에 속합니다.

모든 경로에서 참조(reference) 균형을 유지합니다:

- 정상 종료 또는 게시 후 오류 발생 시, smb2_tree_connect()는 자신의 생성자 참조를 해제(drop)합니다. 오류 정리 과정에서도 ksmbd_tree_conn_disconnect()가 호출되며, 이는 정확한 entry를 제거하는 경우에만 xarray 참조를 해제합니다. - SMB2 TREE_DISCONNECT은 동일한 헬퍼 함수를 사용하여 entry를 제거하고 해당 xarray 참조를 해제합니다. 요청의 기존 조회(lookup) 참조는 요청이 소유하며 기존 정리 과정에 의해 해제됩니다. - 세션 LOGOFF는 각 entry를 제거하고 해당 xarray 참조를 해제합니다. 레이스 조건에서 승리할 경우, 이후의 정리는 entry가 이미 사라졌음을 확인하여 해당 참조를 다시 해제하지 않습니다.

이러한 소유권 관계를 강제하기 위해 tree_conns_lock 하에서 연결 끊김 상태를 주장하고 정확한 entry를 원자적으로 지웁니다. 이는 어떤 정리 경로(teardown path)가 승리하든 xarray 참조에 대한 하나의 해제(drop)와 각 활성 사용자(in-flight user)에 의한 하나씩의 해제를 보장합니다. 로그오프가 초기화 완료 전에 entry를 제거하는 경우, 분리된 객체를 TREE_CONNECTED로 표시하지 않고 연결을 실패시킵니다.

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

출처

Interested in the pricing of exploits?

See the underground prices here!