🇰🇷 한글 설명
Linux 커널의 SCSI generic 드라이버에서 /dev/sg0 장치에 대한 SG_GET_REQUEST_TABLE ioctl 호출을 통해 초기화되지 않은 커널 힙 메모리의 민감 정보가 로컬 사용자에게 노출될 수 있습니다. 4.13.4 이전 버전의 Linux 커널에서 발생합니다.
💡 쉬운 설명
하드드라이브 제어 코드에 버그가 있어서 일반 사용자가 특별한 명령을 보내면 메모리에 있는 비밀 정보(암호, 키 등)를 볼 수 있습니다. /dev/sg0 장치에 접근 가능한 로컬 사용자만 공격 가능합니다.
🇺🇸 원문 (English)
The sg_ioctl function in drivers/scsi/sg.c in the Linux kernel before 4.13.4 allows local users to obtain sensitive information from uninitialized kernel heap-memory locations via an SG_GET_REQUEST_TABLE ioctl call for /dev/sg0.
📍 영향받는 시스템
Linux kernel < 4.13.4 (4.13.3 이하 모든 커널)
⚔️ 공격 벡터
/dev/sg0 장치에 SG_GET_REQUEST_TABLE ioctl 호출을 통한 로컬 메모리 정보 유출
🛡️ 대응 방법
Linux 커널을 4.13.4 이상으로 업그레이드하거나 /dev/sg* 장치 접근 권한 제한
🔧 검증 코드
VULNERABLE 출력 시 커널이 취약함, PATCHED 출력 시 안전함을 의미합니다.
uname -r | awk -F'[.-]' '{v=$1*1000000+$2*1000+$3; print (v<4013004?"VULNERABLE":"PATCHED")}'