[CVE-2024-4577] PHP-CGI

2024. 7. 3. 21:59·CVE

개요

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 버전 설치

XAMPP 8.2.12 버전 설치

 

httpd-xampp.conf 파일의 PHP-CGI setup 주석 제거 후 아파치 서버 실행

PHP-CGI setup 주석 제거

 

아파치 서버 접속 확인

아파치 서버 접속 확인

 

공격자 PC에서 exploit 코드 실행

exploit 코드 실행

 

RCE에 성공하여 피해자 PC 계산기가 실행됨을 확인

RCE 실행 결과

 

 

대응 방안

대응 방법 설명
버전 패치  PHP 최신 버전으로 패치
Rewrite Rules 작성 하단에 작성되어 있는 Rewrite Rules 작성
# httpd.conf에 작성

RewriteEngine On
RewriteCond %{QUERY_STRING} ^%ad [NC]
RewriteRule .? – [F,L]

 

출처

취약점 상세 - https://devco.re/blog/2024/06/06/security-alert-cve-2024-4577-php-cgi-argument-injection-vulnerability-en/?ref=labs.watchtowr.com

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
'CVE' 카테고리의 다른 글
  • [CVE-2024-4367] pdf.js
  • [CVE-2021-4034] Pwnkit
FEARIS
FEARIS
모의해킹 업무를 하는 직장인입니다.
  • FEARIS
    개인공부방
    FEARIS
  • 전체
    오늘
    어제
    • 분류 전체보기 (29)
      • CTF (16)
      • CVE (3)
      • Wargame (1)
      • 기타 (3)
      • 실습 (4)
        • Web (2)
        • Mobile (0)
        • Network (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    CTF
    php
    ctf-d
    cve-2024-4367
    cve-2024-4577
    PHP-CGI
    디지털포렌식
    pdf.js
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
FEARIS
[CVE-2024-4577] PHP-CGI
상단으로

티스토리툴바