개요
CVE-2024-4577 취약점은 Windows에서 PHP-CGI를 사용할 때, Best-Fit 기능이 특정 로케일(일본어, 중국어[간체, 번체])에서 Soft Hypen(0xAD)을 Hypen(0x2D)로 변환한다. 만약 서버에서 PHP-CGI 모드가 실행되거나 PHP 실행 바이너리가 노출되었을 경우(기본 XAMPP 구성) 공격자는 이 취약점을 통해 원격 코드 실행(RCE)이 가능하다.
등급
9.8 (CRITICAL)
취약 버전
PHP 8.3 < 8.3.8
PHP 8.2 < 8.2.20
PHP 8.1 < 8.1.29
PHP 5, 7, 8(지원 종료)
환경 구성
Windows 10 (일본어, 중국어[번체, 간체] 로케일)
XAMPP 8.2.12 (PHP 8.2.12)
실습
chcp를 통해 윈도우 로케일 확인
(일본어 932, 중국어 간체 936, 중국어 번체 950)
XAMPP 8.2.12 버전 설치
httpd-xampp.conf 파일의 PHP-CGI setup 주석 제거 후 아파치 서버 실행
아파치 서버 접속 확인
공격자 PC에서 exploit 코드 실행
RCE에 성공하여 피해자 PC 계산기가 실행됨을 확인
대응 방안
대응 방법 | 설명 |
버전 패치 | PHP 최신 버전으로 패치 |
Rewrite Rules 작성 | 하단에 작성되어 있는 Rewrite Rules 작성 |
# httpd.conf에 작성 RewriteEngine On RewriteCond %{QUERY_STRING} ^%ad [NC] RewriteRule .? – [F,L] |
출처
POC - https://github.com/watchtowrlabs/CVE-2024-4577
의견
해당 취약점은 Soft Hypen(0xAD)을 사용하여 기존 CVE-2012-1823 취약점을 우회한 버전이다. 비록, 특정 로케일을 사용하는 Windows만 취약하다고 하지만 exploit 과정이 너무 쉽기 때문에 취약한 PHP 버전을 사용하고 있다면 패치를 권장한다.
'CVE' 카테고리의 다른 글
[CVE-2024-4367] pdf.js (1) | 2024.05.26 |
---|---|
[CVE-2021-4034] Pwnkit (0) | 2022.06.19 |