
cldflt.sys 정보 공개 취약점 (KB5034765 - KB5035853, Win 11).
CVE-2024-26160에 대한 간단한 분석 글입니다. 이 취약점은 2월 패치(KB5034765, Windows 11 22H2, Windows 11 23H2)에서 발견할 수 있으며, 3월 패치(KB5035853)에서 수정되었습니다.
취약점은 CldiPortProcessGetRangeInfo 함수에 있으며, 사용자 애플리케이션에서 전달된 버퍼 크기를 확인하지 않습니다. 크기는 사용자가 제어할 수 있으므로, 반환된 정보를 복사하는 memmove가 크기가 올바르게 전달되면 커널 주소가 포함된 인접 메모리 풀을 가져올 수 있습니다.


3월 패치(KB5035853)에서는 버퍼 크기에 대한 추가 검사가 도입되었습니다.

일반적인 조건에서 취약한 함수는 CfGetPlaceholderRangeInfoForHydration 함수가 호출될 때 호출되며, 이 함수는 반환 버퍼에 대한 고정 크기를 포함하므로 취약한 함수 호출에 도달하는 데이터 패킷을 구성해야 합니다. 필요한 함수의 호출은 CldiPortNotifyMessage 함수를 거치며, 여기서 특정 패킷을 포함한 모든 패킷이 검증되어야 합니다.

누출을 트리거하려면 메시지 유형을 전달하는 것이 중요합니다.

데이터 패킷이 올바르게 구성되면 주소 누출을 확인할 수 있습니다.
