🇰🇷 한글 설명
Froxlor 2.3.8 미만 버전의 DomainZones.add API에서 사용자 입력값에 포함된 줄바꿈, 탭, 세미콜론 등의 문자를 적절히 검증하지 못하는 취약점이 존재합니다. 인증된 사용자가 조작된 레코드 값을 입력하면 BIND 존 파일에 추가적인 리소스 레코드를 삽입할 수 있으며, 이를 통해 DNS 데이터를 변조하거나 서비스 가용성에 영향을 줄 수 있습니다.
💡 쉬운 설명
서버 관리 프로그램인 Froxlor의 DNS 설정 기능에 허점이 있어, 권한이 있는 사용자가 몰래 잘못된 명령어를 끼워 넣을 수 있습니다. 이로 인해 DNS 설정이 망가지거나 엉뚱한 주소로 연결될 위험이 있습니다.
🇺🇸 원문 (English)
Froxlor is open source server administration software. Prior to 2.3.8, the DomainZones.add API command in lib/Froxlor/Api/Commands/DomainZones.php accepts user-controlled record and type values without rejecting line delimiters, tab characters, semicolons, or unsupported DNS record types before lib/Froxlor/Dns/DnsEntry.php serializes the values into a BIND zone file. An authenticated customer with DNS-zone permissions can place a crafted value in the record field, or use the related type-field variant, to create additional resource-record lines that bypass Froxlor's field-level validation. BIND accepts the injected records, allowing modification of DNS data and possible DNS availability impact within a zone the caller is authorized to manage. This issue is fixed in version 2.3.8.
📍 영향받는 시스템
Froxlor version < 2.3.8
⚔️ 공격 벡터
인증된 사용자가 API를 통해 줄바꿈이나 특수문자가 포함된 조작된 DNS 레코드 값을 전송하여 BIND 존 파일에 삽입
🛡️ 대응 방법
Froxlor를 최신 버전인 2.3.8 이상으로 업데이트하십시오.
🔧 검증 코드
설치된 Froxlor의 버전이 2.3.8 미만인지 확인하여 취약 여부를 판단합니다.
php -r "echo 'Froxlor version check required';" && grep -r "version" /path/to/froxlor/version.php 2>/dev/null || echo 'Manual version check required'