CVE-2025-13032: 아바스트 안티바이러스 취약점 분석 및 권한 상승 — AI 생성 일러스트AI 일러스트
리서치 연구

CVE-2025-13032: 아바스트 안티바이러스 취약점 분석 및 권한 상승

CVE-2025-13032: Entering and Breaking the Avast Antivirus Sandbox Part 2

Hacker News9월 25일 발표 · 3분

Avast 안티바이러스 커널 드라이버에서 발견된 이중 가져오기(double-fetch) 취약점(CVE-2025-13032)을 이용한 권한 상승 공격 사례입니다.

세 줄 요약Hacker News 원문 기반
  1. 공격자는 풀 오버플로우를 유발하여 I/O Ring 객체의 메모리 포인터를 조작, 임의 커널 읽기 및 쓰기 기능을 확보하는 데 성공했습니다.
  2. 이 취약점은 사용자 모드에서 시스템 최고 권한(SYSTEM)으로 상승하는 로컬 권한 상승 공격이 가능함을 보여주는 심층적인 분석입니다.
  3. 다만, 최신 Windows 커널은 사용자 모드 접근자 도입 등 방어 기법을 적용하여 해당 공격 기법의 성공 여부를 반드시 확인해야 합니다.

본 연구는 Avast Antivirus의 커널 드라이버에서 발견된 CVE-2025-13032라는 이중 가져오기(double-fetch) 취약점을 다룹니다. 해당 취약점은 사용자 입력으로 제공되는 `_UNICODE_STRING` 구조체의 `Length` 필드를 여러 번 읽는 과정에서 발생하며, 이를 악용하여 커널 풀 오버플로우를 유발할 수 있습니다. 공격자는 두 개의 스레드를 사용하여 공유된 `_UNICODE_STRING`의 길이 값을 작은 값과 큰 값 사이에서 지속적으로 토글하는 레이스 컨디션을 만들어내고, 이로 인해 할당된 버퍼보다 더 많은 바이트가 복사되어 풀 오버플로우를 일으킵니다.

공격 목표는 발생한 풀 오버플로우를 이용해 임의 커널 읽기/쓰기 프리미티브를 확보하고 로컬 권한 상승(SYSTEM)을 달성하는 것입니다. 연구진은 I/O Ring Object의 `RegBuffers` 필드를 공격 대상으로 삼았습니다. 이 필드는 `PAGED_POOL`에 할당되며, 이는 오버플로우가 발생하는 풀과 일치하여 적합합니다. 또한, `RegBuffers` 배열의 크기는 사용자 제어가 가능하며, 단일 포인터 조작만으로도 임의 읽기/쓰기 프리미티브를 얻을 수 있다는 장점이 있습니다.

임의 커널 R/W 기능을 확보하기 위해 공격자는 `RegBuffers` 엔트리 중 하나가 가리키는 주소를 사용자가 완전히 제어하는 가짜 구조체(fake structure)로 리디렉션합니다. Windows 운영체제가 SMAP(Supervisor Mode Access Prevention)을 구현하지 않았기 때문에, 커널은 I/O 작업을 수행할 때 사용자 영역의 포인터를 역참조하게 됩니다. 이 과정을 통해 `IoRingReadFile`과 `IoRingWriteFile` 두 가 각각 임의 커널 쓰기와 읽기 기능을 제공하는 원시(primitive)로 활용됩니다.

다만, 연구진은 최신 Windows 10 시스템에서는 사용자 모드 접근자(user-mode accessors)와 같은 방어 기법이 도입되어 각 커널 접근 시 사용자 버퍼의 위치를 검증함으로써 이와 같은 공격 기술의 성공을 막을 수 있음을 지적했습니다.

용어 풀이

API
프로그램끼리 기능을 주고받는 약속된 창구. AI 모델은 보통 API로 불러 써요.
원문Hacker News · CVE-2025-13032: Entering and Breaking the Avast Antivirus Sandbox Part 2같은 주제 가이드 · 바로 써 보기영어 논문, 초록부터 쉽게 읽기

평일 아침 메일로 받아 보기 ›틀린 곳 알리기