🇰🇷 한글 설명
InvoicePlane 1.7.2-rc-1 미만 버전에서 발생하는 취약점으로, 관리자 권한을 이용한 파일 쓰기 기능을 통해 템플릿 디렉토리에 악성 PHP 파일을 삽입할 수 있습니다. 삽입된 파일은 시스템에 의해 신뢰할 수 있는 템플릿으로 인식되며, 공용 인보이스 렌더링 시 웹 서버 권한으로 실행되어 원격 코드 실행(RCE)이 가능해집니다.
💡 쉬운 설명
공격자가 가짜 청구서 양식 파일을 서버에 몰래 저장하면, 서버가 이를 정상적인 파일로 착각하여 실행하게 됩니다. 이를 통해 공격자는 서버의 제어권을 탈취할 수 있습니다.
🇺🇸 원문 (English)
InvoicePlane is a self-hosted open source application for managing invoices, clients, and payments. Prior to 1.7.2-rc-1, InvoicePlane builds its permitted template list by scanning a PHP template directory that can be written through an administrator-controlled file-write capability. A malicious PHP file placed in the directory is automatically trusted by Mdl_templates and can be selected as public_invoice_template. When a public invoice is rendered, the guest View controller includes the trusted file and executes it with web-server privileges. This issue is fixed in version 1.7.2-rc-1.
📍 영향받는 시스템
InvoicePlane 1.7.2-rc-1 미만 모든 버전
⚔️ 공격 벡터
관리자 권한을 이용한 파일 쓰기 기능을 통해 악성 PHP 파일을 템플릿 디렉토리에 업로드한 후 공용 인보이스로 호출
🛡️ 대응 방법
InvoicePlane를 최신 보안 패치가 적용된 버전인 1.7.2-rc-1 이상으로 즉시 업데이트하십시오.
🔧 검증 코드
설치된 InvoicePlane의 버전이 1.7.2-rc-1보다 낮은지 확인하십시오.
php -r "echo 'InvoicePlane Version Check';" && grep -r "version" /path/to/invoiceplane/index.php 2>/dev/null || echo 'Manual version check required'