
CVE-2022-0185 Linux 커널 힙 오버플로 취약점에 대한 연구 및 개념 증명(PoC)입니다.
CVE-2022-0185 Linux 커널 힙 오버플로 취약점에 대한 연구 및 개념 증명입니다.
CVE-2022-0185 – Linux 커널 힙 오버플로 분석 개요
CVE-2022-0185는 Linux 커널의 파일시스템 컨텍스트 구현에 존재하는 힙 기반 버퍼 오버플로 취약점입니다. 이 문제는 legacy_parse_param() 함수에 존재하며 특정 구성에서 로컬 권한 상승을 허용할 수 있습니다.
CVE ID: CVE-2022-0185
구성 요소: Linux 커널 파일시스템 컨텍스트
취약점 유형: 힙 버퍼 오버플로
공격 벡터: 로컬
영향: 권한 상승
저자: Sandesh Pantha 프로젝트 유형: 보안 연구 및 교육용 데모
공식 참조 자료:
NVD 항목: https://nvd.nist.gov/vuln/detail/CVE-2022-0185
Openwall 권고: https://www.openwall.com/lists/oss-security/2022/01/18/7
Linux 커널 수정 커밋: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=722d94847de29310e8aa03fcbdb41fc92c521756
취약점 근본 원인
이 취약점은 fsconfig() 시스템 호출을 통해 파일시스템 파라미터를 구문 분석할 때 부적절한 경계 검사로 인해 발생합니다.
legacy_parse_param()에서:
사용자 제어 데이터가 내부 버퍼에 추가됩니다
크기 계산이 오버플로를 제대로 방지하지 못합니다
반복적인 호출로 힙 메모리 손상이 발생할 수 있습니다
이로 인해 인접한 힙 객체에 경계를 벗어난 쓰기(out-of-bounds write)가 발생하며, 잠재적으로 다음으로 이어질 수 있습니다:
커널 메모리 손상
정보 노출
Use-after-free 조건
권한 상승
영향을 받는 버전에는 다음 이전의 Linux 커널이 포함됩니다:
5.11.0
5.16.2
5.15.16
5.10.93
연구 초점
이 프로젝트는 다음을 시연합니다:
fsopen()을 사용한 파일시스템 컨텍스트 생성
fsconfig()를 통한 파라미터 주입
커널 힙 스프레이 기법
메시지 큐 기반 힙 그루밍
소켓 버퍼 스프레이
제어된 객체 재사용 패턴
이 저장소의 목적은 교육용입니다: 통제된 실습 환경에서 커널 힙 동작과 취약점 익스플로잇 방법론을 이해하는 것입니다.
실습 환경
테스트는 반드시 격리된 가상 머신에서만 수행해야 합니다.
권장 구성:
취약한 커널을 사용하는 Ubuntu 20.04 또는 Debian
QEMU 또는 VirtualBox
테스트 전 스냅샷 활성화
비운영 환경
프로덕션 시스템에서는 이를 절대 실행하지 마세요.
완화 조치
이 취약점은 legacy_parse_param()의 경계 검증 논리를 수정하여 해결되었습니다.
완화 단계:
패치된 커널 버전으로 업그레이드
가능한 경우 권한 없는 사용자 네임스페이스 비활성화
비정상적인 파일시스템 컨텍스트 활동 모니터링
수정 사항이 포함된 커널 버전:
5.16.2
5.15.16
5.10.93
패치 참조: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
이 프로젝트가 시연하는 내용
Linux 커널 내부 구조에 대한 깊은 이해
힙 메모리 레이아웃 이해
커널 객체 수명주기 조작
안전한 취약점 연구 방법론
책임 있는 공개 절차
윤리적 사용
이 프로젝트는 교육 및 방어적 보안 연구 목적으로만 제공됩니다.
명시적 승인 없이 이 지식을 시스템에 사용하려고 시도하지 마세요.