🇰🇷 한글 설명
Piotnet Forms 워드프레스 플러그인에서 파일 업로드 검증이 불완전하여 .phar, .phtml 등 위험한 확장자를 통한 임의 파일 업로드가 가능합니다. 미인증 공격자가 악의적인 파일을 서버에 업로드하여 원격 코드 실행(RCE)을 수행할 수 있습니다.
💡 쉬운 설명
워드프레스의 Piotnet Forms 플러그인이 위험한 파일 확장자를 제대로 차단하지 못해, 로그인하지 않은 공격자도 악성 파일을 업로드할 수 있습니다. 업로드된 파일이 실행되면 웹사이트를 완전히 제어당할 수 있습니다.
🇺🇸 원문 (English)
The Piotnet Forms plugin for WordPress is vulnerable to arbitrary file upload due to missing file type validation in the 'piotnetforms_ajax_form_builder' function in all versions up to, and including, 2.1.40. The plugin uses an incomplete extension blacklist that only blocks php, phpt, php5, php7, and exe extensions, while allowing dangerous extensions such as .phar or .phtml to be uploaded. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible. Note: The exploit can only be exploited if a file field is added to the form.
📍 영향받는 시스템
Piotnet Forms 플러그인 버전 2.1.40 이하 (WordPress)
⚔️ 공격 벡터
폼의 파일 업로드 필드를 통해 .phar, .phtml 확장자로 PHP 코드를 포함한 파일을 업로드하여 서버에서 실행
🛡️ 대응 방법
플러그인을 최신 버전으로 업데이트하거나, 플러그인을 제거하고 화이트리스트 기반 파일 검증을 사용하는 안전한 플러그인으로 교체
🔧 검증 코드
버전 정보가 표시되면 플러그인이 설치된 상태이며, 버전이 2.1.40 이하면 취약합니다.
grep 'Version:' /var/www/html/wp-content/plugins/piotnet-forms/piotnet-forms.php 2>/dev/null || echo 'Plugin not installed'