🔍 CVE-2017-7187

7.8
CVSS Score
HIGH
2017-03-20
2026-05-13 00:24
✅ 완료

🇰🇷 한글 설명

Linux 커널의 sg.c 파일에 있는 sg_ioctl 함수에서 SG_NEXT_CMD_LEN ioctl 호출 시 과도한 명령 크기를 처리하지 못해 스택 기반 버퍼 오버플로우가 발생합니다. 이는 sg_write 함수에서 경계를 벗어난 쓰기 접근을 유발하여 서비스 거부 또는 임의 코드 실행을 야기할 수 있습니다.

💡 쉬운 설명

Linux 커널의 SCSI 장치 드라이버에서 잘못된 크기의 데이터를 보내면 메모리가 손상되어 시스템이 충돌할 수 있습니다. 로컬 접근 권한이 있는 공격자가 이를 악용할 수 있습니다.

🇺🇸 원문 (English)

The sg_ioctl function in drivers/scsi/sg.c in the Linux kernel through 4.10.4 allows local users to cause a denial of service (stack-based buffer overflow) or possibly have unspecified other impact via a large command size in an SG_NEXT_CMD_LEN ioctl call, leading to out-of-bounds write access in the sg_write function.

📍 영향받는 시스템

Linux kernel 버전 4.10.4 이하 (SCSI sg 드라이버)

⚔️ 공격 벡터

로컬 사용자가 SG_NEXT_CMD_LEN ioctl을 통해 비정상적으로 큰 명령 크기를 전송하여 메모리 오버플로우 트리거

🛡️ 대응 방법

Linux 커널을 4.10.5 이상으로 업그레이드하거나 SCSI sg 드라이버 관련 패치 적용

🔧 검증 코드

커널 버전이 4.10.4 이하면 'Vulnerable', 그 외에는 'Check required' 출력 (정확한 판단은 배포판 패치 상태 확인 필요)

Shell / Script
uname -r | awk -F. '{if($1==4 && $2==10 && $3<=4) print "Vulnerable"; else print "Check required"}'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel