🇰🇷 한글 설명
Gravity Forms 워드프레스 플러그인의 청크 업로드 메커니즘에서 파일 타입 검증이 누락되어, 확장자 블랙리스트에 포함되지 않은 .phar 파일을 업로드할 수 있습니다. 인증되지 않은 공격자가 업로드 경로를 발견할 수 있고 웹 서버가 .phar을 PHP로 처리하면 원격 코드 실행이 가능합니다.
💡 쉬운 설명
워드프레스 Gravity Forms 플러그인이 파일 검사를 제대로 하지 않아 실행 가능한 파일을 업로드하고 서버를 장악할 수 있습니다. 누구나 인증 없이 이 공격을 할 수 있습니다.
🇺🇸 원문 (English)
The Gravity Forms plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validation in the legacy chunked upload mechanism in all versions up to, and including, 2.9.21.1. This is due to the extension blacklist not including .phar files, which can be uploaded through the chunked upload mechanism. This makes it possible for unauthenticated attackers to upload executable .phar files and achieve remote code execution on the server, granted they can discover or enumerate the upload path. In order for an attacker to achieve RCE, the web server needs to be set up to process .phar file as PHP via file handler mapping or similar.
📍 영향받는 시스템
Gravity Forms 플러그인 2.9.21.1 이하 모든 버전
⚔️ 공격 벡터
청크 업로드 엔드포인트를 통해 .phar 파일 업로드 후 웹 서버의 PHP 핸들러 설정으로 인한 실행
🛡️ 대응 방법
Gravity Forms를 최신 버전으로 즉시 업그레이드하여 파일 타입 검증 강화
🔧 검증 코드
플러그인 파일에서 버전 정보 확인; 2.9.21.2 이상이면 패치됨, 그 이하면 취약함
grep -m1 'Version:' /var/www/html/wp-content/plugins/gravityforms/gravityforms.php 2>/dev/null || echo 'Plugin not found'