🇰🇷 한글 설명
Linux 커널의 net/dibs 구성 요소에서 dmb_clientid_arr 메모리 해제 오류가 발견되었습니다. dibs 장치 인터럽트 핸들러가 장치 삭제 후에도 메모리에 접근하는 Use-After-Free(UAF) 문제와, 장치 추가 실패 시 메모리가 두 번 해제되는 Double Free 취약점이 포함되어 있습니다.
💡 쉬운 설명
컴퓨터의 핵심 운영체제인 리눅스에서 메모리를 관리하는 과정에 실수가 있어, 이미 사용이 끝난 메모리 영역을 다시 건드리거나 중복으로 삭제하는 문제가 있습니다. 이로 인해 시스템이 갑자기 멈추거나 해커가 시스템 권한을 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net/dibs: Correct freeing of dmb_clientid_arr
A dibs device interrupt handler can be active after dibs_dev_del() and
may still access dmb_clientid_arr. (UAF)
In case of a failure in dibs_dev_add() being called by dibs_lo_dev_probe()
dmb_clientid_arr is freed twice (double free).
Free dmb_clientid_arr in dibs_dev_release() after last reference is gone.
Note that allocating in dibs_dev_add() instead of dibs_dev_alloc() is ok
for now, because no dmbs can be registered before dibs_dev_add().
📍 영향받는 시스템
dibs 드라이버를 사용하는 Linux 커널 버전
⚔️ 공격 벡터
특정 장치 드라이버의 인터럽트 핸들러를 트리거하거나 장치 추가/삭제 과정을 조작하여 메모리 오류 유도
🛡️ 대응 방법
dibs_dev_release() 함수에서 마지막 참조가 사라진 후 메모리를 해제하도록 커널 패치 적용
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 최신 패치 버전인지 확인합니다.