🇰🇷 한글 설명
InvoicePlane 1.7.2 미만 버전에서 관리자가 제어하는 custom_field_table 값이 적절한 검증 없이 저장되어 발생하는 2차 SQL 인젝션 취약점입니다. 이 취약점을 통해 공격자는 임의의 스키마 데이터를 조회하거나 애플리케이션 오류 및 서비스 거부(DoS)를 유발할 수 있습니다.
💡 쉬운 설명
관리자 설정값이 데이터베이스 명령어로 잘못 사용되어 발생하는 보안 결함입니다. 이를 통해 해커가 데이터베이스의 중요한 정보를 몰래 빼내거나 서비스를 마비시킬 수 있습니다.
🇺🇸 원문 (English)
InvoicePlane is a self-hosted open source application for managing invoices, clients, and payments. Prior to 1.7.2, InvoicePlane stores an administrator-controlled custom_field_table value without validating it against the allowed custom-field table names. Mdl_custom_fields::used() later concatenates that stored value into the FROM table and WHERE column identifier positions, so opening the custom-field edit form executes a second-order SQL injection. The injection can query arbitrary schema data and can cause application errors or denial of service. This issue is fixed in version 1.7.2.
📍 영향받는 시스템
InvoicePlane 1.7.2 미만 모든 버전
⚔️ 공격 벡터
관리자 설정 페이지를 통해 악의적인 테이블 이름을 입력하여 저장한 후, 해당 설정이 사용되는 페이지를 호출하는 2차 SQL 인젝션 방식
🛡️ 대응 방법
InvoicePlane를 최신 보안 패치가 적용된 버전 1.7.2 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 '1.7.2' 이상의 버전 번호가 출력되면 취약점이 해결된 상태입니다.
curl -s http://<target_ip>/version.php | grep -E '1.7.2'