Microsoft Windows에 포함된 Libarchive 라이브러리에서 정수 오버플로우 취약성이 있습니다. 이는 RARVM 필터의 블록 길이에 대한 충분한 경계 확인이 없는 Intel E8 전처리에서 발생합니다. 원격 공격자는 이 취약성을 악용하여 타겟 사용자를 속여 잘못된 RAR 아카이브를 추출하게 유도할 수 있습니다. 이렇게 하면 애플리케이션에서 사용되는 취약한 라이브러리의 컨텍스트에서 임의의 코드 실행이 가능할 수 있습니다. 이 취약성은 RAR 아카이브의 구문 분석과 관련이 있습니다. RAR 아카이브는 변수 길이 블록의 연속으로 구성되며, 각 블록은 헤더로 시작합니다. 취약성은 특정 지문이 있는 RARVM 필터가 실행될 때 발생합니다. execute_filter_e8() 함수의 루프 조건에서 정수 오버플로우가 발생하여 힙 기반 버퍼인 VM 메모리의 경계를 벗어나는 메모리 액세스를 초래합니다. 이 취약성을 악용하는 공격을 감지하려면 감지 장치는 FTP, HTTP, SMTP, IMAP, SMB 및 POP3와 같은 일반적인 포트에서 RAR 아카이브가 전송되는 트래픽을 모니터링하고 구문 분석해야 합니다. 장치는 RarBlock Marker, ArcHeader 및 FileHeader 블록을 확인하고, 파일의 압축된 데이터를 추출해야 합니다. LZ 알고리즘으로 압축된 블록이 발견되면, 허프만 테이블과 기호를 디코딩해야 합니다. 기호 257이 발견되면, 장치는 다음 데이터를 RARVM 필터로 구문 분석하고 코드 필드의 크기를 계산해야 합니다. 장치는 코드 필드의 구조에 따라 데이터를 구문 분석하고, 구현된 알고리즘에 따라 숫자 필드를 읽어야 합니다.
thezdi.com
CVE-2024-20697: Windows Libarchive Remote Code Execution Vulnerability
Create attached notes ...
