🔍 CVE-2026-43376

9.8
CVSS Score
CRITICAL
2026-05-08
2026-05-15 15:15
✅ 완료

🇰🇷 한글 설명

Linux 커널의 ksmbd 드라이버에서 oplock_info 구조체를 RCU 읽기 임계 영역에서 접근하는 동안 즉시 kfree()로 해제하여 발생하는 use-after-free 취약점입니다. RCU grace period 없이 메모리를 해제하면 opinfo_get() 등의 함수에서 이미 해제된 메모리에 접근하게 되어 시스템 충돌이나 권한 상승으로 이어질 수 있습니다. call_rcu()를 사용한 지연 해제로 수정됩니다.

💡 쉬운 설명

메모리를 사용하는 코드가 끝나기 전에 그 메모리를 삭제해서 발생하는 버그입니다. 삭제된 메모리를 여전히 사용하려 하면 시스템이 충돌하거나 공격자가 악용할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix use-after-free by using call_rcu() for oplock_info ksmbd currently frees oplock_info immediately using kfree(), even though it is accessed under RCU read-side critical sections in places like opinfo_get() and proc_show_files(). Since there is no RCU grace period delay between nullifying the pointer and freeing the memory, a reader can still access oplock_info structure after it has been freed. This can leads to a use-after-free especially in opinfo_get() where atomic_inc_not_zero() is called on already freed memory. Fix this by switching to deferred freeing using call_rcu().

📍 영향받는 시스템

Linux 커널 (ksmbd SMB 서버 드라이버 포함된 모든 버전)

⚔️ 공격 벡터

ksmbd 서비스 접속 후 race condition 유발하여 use-after-free 조건 트리거 (로컬/원격 모두 가능)

🛡️ 대응 방법

Linux 커널을 CVE-2026-43376 패치가 포함된 최신 버전으로 업데이트

🔧 검증 코드

커널 버전을 확인하고 ksmbd가 활성화되어 있는지 확인합니다. ksmbd가 enabled이면 해당 커널 버전이 패치를 포함하는지 확인해야 합니다.

Shell / Script
uname -r && grep -i ksmbd /boot/config-$(uname -r) 2>/dev/null || echo 'ksmbd not found'

📊 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