🇰🇷 한글 설명
Froxlor 2.3.0 이상 2.3.15 미만 버전에는 Certificates.add 및 Certificates.update API 명령에서 권한 검사가 누락되어 있습니다. 이 API는 도메인의 인증서가 Let's Encrypt로 관리되는지 확인하지 않습니다. API 접근 권한이 있는 고객은 관리 중인 인증서와 개인키를 공격자가 지정한 값으로 덮어쓸 수 있으며, 이후 REBUILD_VHOST 작업이 이를 웹서버에 배포하여 HTTPS가 중단되고 ACME 자동화가 동기화되지 않습니다.
💡 쉬운 설명
웹 호스팅 관리 프로그램 Froxlor에서 일반 고객이 다른 도메인의 보안 인증서를 임의로 바꿀 수 있는 취약점입니다. 이로 인해 해당 사이트의 HTTPS 연결이 깨지고 인증서 자동 갱신 기능이 정상 작동하지 않게 됩니다.
🇺🇸 원문 (English)
Froxlor 2.3.0 before 2.3.15 contains a missing authorization check in the Certificates.add and Certificates.update API commands, which do not verify whether a domain's certificate is Let's Encrypt-managed. Customers with API access can overwrite the managed certificate and private key with an attacker-chosen pair, which a REBUILD_VHOST task deploys to the webserver, breaking HTTPS and desynchronizing ACME automation.
📍 영향받는 시스템
Froxlor 2.3.0 이상 2.3.15 미만
⚔️ 공격 벡터
API 접근 권한을 가진 고객이 Certificates.add/update 명령으로 자신이 만든 인증서와 개인키를 다른 도메인의 관리 인증서에 덮어써 REBUILD_VHOST 작업으로 웹서버에 배포하게 함
🛡️ 대응 방법
Froxlor를 2.3.15 이상으로 업그레이드하고, 업그레이드 전까지 API 접근 권한을 제한하며 Let's Encrypt 관리 인증서가 수동 변경되지 않았는지 점검
🔧 검증 코드
출력된 버전 값이 2.3.0 이상 2.3.15 미만이면 취약하며, 2.3.15 이상이면 패치된 버전입니다. 파일이 없으면 설치 경로를 확인해야 합니다.
grep -rE "const VERSION|version" /var/www/froxlor/lib/version.php 2>/dev/null | head -5