공부한 것
CVE-2026-21236
hsnyus
2026. 5. 10. 10:03
CVSS : 7.8
대상 서비스
Windows Ancillary Function Driver for WinSock (AFD.sys)
- Windows 커널 모드에서 동작하는 드라이버
- 유저 모드의 WinSock(Windows Socket) API 호출을 커널 레벨에서 처리하는 네트워킹 컴포넌트
- TCP/IP, UDP 등 네트워크 프로토콜의 소켓 서비스를 구현함
- 유저 모드 소켓 API를 마샬링하고 IOCTL 및 제어 요청을 처리한 뒤 하위 레벨 전송 드라이버와 상호작용함
- 커널 컨텍스트에서 실행되면서도 일반적인 네트워킹 API를 통해 접근이 가능함
대상 버전
- Windows 11: 22H3, 23H2, 24H2, 25H2, 26H1 (build 10.0.28000.0)
- Windows 10: 1607, 1809, 21H2, 22H2
- Windows Server: 2012, 2012 R2, 2016, 2019, 2022, 2022 23H2, 2025
취약점 개요
취약점의 종류
- 로컬 권한 상승(LPE)
- Heap-based Buffer Overflow
Heap-based BOF를 통해 인가된 로컬 사용자가 SYSTEM 레벨 권한을 획득할 수 있는 권한 상승 취약점임.
발생한 원인
- AFD.sys 드라이버 내부에서 힙 메모리 버퍼에 대한 크기 검증이 부적절하였음이 원인임.
- WinSock 드라이버가 유저 모드에서 전달받은 데이터를 처리할 때 힙에 할당된 버퍼의 경계를 적절히 검증하지 않음
- AFD.sys 는 커널 경계에서 WinSock API를 처리하면서 IOCTL, 소켓 옵션, 관리 작업을 유저 모드에 노출하는데 이 과정에서 특권 코드 경로가 유저 입력에 노출되는 구조라 버퍼 크기, 소유권, 동기화 검증이 중요함
- 해당 취약점에서는 이 검증이 불충분하여 힙 오버플로우가 발생할 수 있었음.
취약점 원리
공격 흐름
- 공격자가 낮은 권한의 로컬 사용자 계정으로 시스템에 접근함(멀웨어 등 통해서)
- 공격자가 유저 모드에서 WinSock API를 호출해서 AFD.sys 드라이버에 조작된 IOCTL 요청을 전송시킨다.
- 조작된 입력이 커널 모드의 AFD.sys로 전달되면 드라이버가 힙에 할당된 버퍼에 데이터를 기록하는 과정에서 경계 검증 부재로 인해 할당된 버퍼의 범위를 초과하여 인접 메모리 영역을 덮어쓴다.
- 오버플로우로 인해 커널 메모리의 핵심 데이터 구조가 손상되며 공격자는 이를 통해 토큰 조작, SYSTEM 프로세스 생성 등으로 SYSTEM 레벨 권한을 얻음.
이후 패치 사항
2026.02.11 패치 업데이트
총 58개 취약점을 수정하고 해당 취약점도 이 릴리즈에 포함되었음.
AFD.sys 드라이버 파일이 패치된 버전으로 교체되고 메모리 연산에 유효성 검증이 추가되어 권한 상승을 차단함.