🇰🇷 한글 설명
WordPress용 VikRentCar Car Rental Management System 플러그인 1.4.8 이하 버전에는 condtext_update_tmpl 함수의 nonce 검증 누락 또는 오류로 인한 CSRF 취약점이 존재합니다. 인증되지 않은 공격자가 관리자를 속여 요청을 실행하게 하면 템플릿 파일에 임의의 PHP 코드를 기록할 수 있어 서버에서 원격 코드 실행이 가능합니다.
💡 쉬운 설명
관리자가 악성 링크를 클릭하면 공격자가 웹사이트의 이메일 템플릿 파일에 악성 코드를 몰래 심을 수 있습니다. 이후 해당 코드가 실행되어 서버가 공격자에게 장악될 수 있습니다.
🇺🇸 원문 (English)
The VikRentCar Car Rental Management System plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to, and including, 1.4.8. This is due to missing or incorrect nonce validation on the condtext_update_tmpl function. This makes it possible for unauthenticated attackers to write arbitrary PHP code to the plugin's executable template files such as site/helpers/email_tmpl.php, which are later include()d by loadEmailTemplate() and loadPdfTemplate(), achieving remote code execution on the server via a forged request granted they can trick a site administrator into performing an action such as clicking on a link. The injected PHP payload bypasses sanitization because the plugin's own __PHP_OPEN__/__PHP_CLOSE__ placeholder expansion and cleanPHPSourceCode() logic explicitly reverse both sanitize_text_field filtering and saveHTML() HTML-encoding, restoring a literal <?php...?> payload to live PHP before it is written to disk. Successful exploitation additionally requires an action by an administrator — the attacker cannot trigger the vulnerability on their own.
📍 영향받는 시스템
VikRentCar Car Rental Management System 플러그인 1.4.8 이하 버전이 설치된 WordPress 사이트
⚔️ 공격 벡터
관리자가 공격자가 만든 악성 링크나 페이지를 방문·클릭하도록 유도하여 위조된 요청으로 템플릿 파일에 PHP 코드를 기록
🛡️ 대응 방법
VikRentCar 플러그인을 1.4.9 이상 최신 버전으로 업데이트하고, 업데이트 전까지 플러그인을 비활성화하며 템플릿 파일의 무단 변경 여부를 점검
🔧 검증 코드
출력된 버전이 1.4.8 이하이면 취약하므로 1.4.9 이상으로 업데이트가 필요하며, 버전 정보가 없으면 플러그인이 설치되지 않은 것입니다.
wp plugin list --name=vikrentcar --field=version 2>/dev/null || grep -i 'Version' wp-content/plugins/vikrentcar/vikrentcar.php 2>/dev/null | head -1