🔍 CVE-2017-1000370

7.8
CVSS Score
HIGH
2017-06-19
2026-05-13 00:24
✅ 완료

🇰🇷 한글 설명

Linux Kernel의 offset2lib ASLR 패치에서 발견된 취약점으로, PIE 바이너리 실행 시 1GB 이상의 명령줄 인자 또는 환경 변수를 전달하면 메모리 레이아웃이 0x80000000-0x40000000 범위로 고착되어 ASLR 보호가 무효화된다. 공격자가 메모리 주소를 정확히 예측하여 버퍼 오버플로우나 ROP 공격을 수행할 수 있게 한다.

💡 쉬운 설명

구형 리눅스 시스템에서 프로그램 실행 시 많은 데이터를 함께 전달하면 메모리 보호 기능이 작동하지 않아 악성 코드 실행이 가능해지는 문제입니다. 32비트 시스템에서만 발생합니다.

🇺🇸 원문 (English)

The offset2lib patch as used in the Linux Kernel contains a vulnerability that allows a PIE binary to be execve()'ed with 1GB of arguments or environmental strings then the stack occupies the address 0x80000000 and the PIE binary is mapped above 0x40000000 nullifying the protection of the offset2lib patch. This affects Linux Kernel version 4.11.5 and earlier. This is a different issue than CVE-2017-1000371. This issue appears to be limited to i386 based systems.

📍 영향받는 시스템

Linux Kernel 4.11.5 이하, i386/i686 아키텍처(32비트)

⚔️ 공격 벡터

PIE 바이너리 실행 시 execve()를 통해 1GB 이상의 큰 argv 또는 envp 배열을 전달하여 메모리 주소 공간 조작

🛡️ 대응 방법

Linux Kernel을 4.11.6 이상으로 업데이트 또는 64비트(x86_64) 아키텍처 사용

🔧 검증 코드

첫 명령어가 i686/i386을 표시하고 두 번째가 취약한 커널 버전을 출력하면 시스템이 이 CVE에 취약합니다.

Shell / Script
uname -m | grep -E 'i686|i386' && uname -r | grep -E '^(3\.|4\.[0-9]\.|4\.10|4\.11\.[0-5])'

📊 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