🇰🇷 한글 설명
리눅스 커널의 md/md-llbitmap 구성 요소에서 비트맵 생성 실패 시 Use-After-Free(UAF) 취약점이 발생합니다. 비트맵 생성 중 오류가 발생하면 뮤텍스를 해제한 후 비트맵을 해제하여, `/proc/mdstat`과 같은 읽기 프로세스가 잘못된 메모리 주소에 접근할 수 있는 문제가 있습니다.
💡 쉬운 설명
시스템이 데이터를 관리하는 지도(비트맵)를 만들다가 실수로 지워버렸는데, 다른 프로그램이 여전히 그 지도가 있는 줄 알고 접근하려다 오류가 발생하는 문제입니다. 이로 인해 시스템이 불안정해지거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
md/md-llbitmap: prevent create failure bitmap UAF
llbitmap_create() publishes mddev->bitmap before reading the bitmap
superblock. This is needed because llbitmap_read_sb() can initialize a
new bitmap and flush it through helpers that use mddev->bitmap.
If llbitmap_read_sb() fails, the old cleanup dropped bitmap_info.mutex
and freed llbitmap before clearing mddev->bitmap. Readers such as
/proc/mdstat rely on bitmap_info.mutex to keep the bitmap pointer stable
while collecting bitmap stats, so they could observe the stale pointer
after the failed create path released the mutex.
Clear mddev->bitmap while still holding bitmap_info.mutex, then free the
failed llbitmap after dropping the mutex. This makes mutex-protected
readers see either a live bitmap or no bitmap.
📍 영향받는 시스템
Linux Kernel (md/md-llbitmap 관련 모듈 사용 시스템)
⚔️ 공격 벡터
로컬 공격자가 비트맵 생성 과정에서 오류를 유도하여 메모리 손상 및 권한 상승 시도 가능
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.