🔍 CVE-2026-41228

9.9
CVSS Score
CRITICAL
2026-04-23
2026-04-27 17:00
✅ 완료

🇰🇷 한글 설명

Froxlor 2.3.6 이전 버전의 API에서 def_language 파라미터 검증 부재로 인해 경로 순회 공격이 가능합니다. 인증된 사용자가 악의적인 경로를 입력하여 PHP 파일을 실행하고 서버 권한으로 임의 코드를 실행할 수 있습니다.

💡 쉬운 설명

Froxlor 웹 호스팅 관리 소프트웨어에서 특정 설정값 입력 시 검증이 부족해 악의적인 파일 경로를 저장할 수 있습니다. 공격자가 나중에 이 파일을 실행하게 만들어 서버를 완전히 제어할 수 있습니다.

🇺🇸 원문 (English)

Froxlor is open source server administration software. Prior to version 2.3.6, the Froxlor API endpoint `Customers.update` (and `Admins.update`) does not validate the `def_language` parameter against the list of available language files. An authenticated customer can set `def_language` to a path traversal payload (e.g., `../../../../../var/customers/webs/customer1/evil`), which is stored in the database. On subsequent requests, `Language::loadLanguage()` constructs a file path using this value and executes it via `require`, achieving arbitrary PHP code execution as the web server user. Version 2.3.6 fixes the issue.

📍 영향받는 시스템

Froxlor < 2.3.6 (Customers.update, Admins.update API 엔드포인트)

⚔️ 공격 벡터

인증된 사용자가 API의 def_language 파라미터에 '../../../../../var/customers/webs/customer1/evil' 같은 경로 순회 payload를 전송하여 PHP 코드 실행

🛡️ 대응 방법

Froxlor를 2.3.6 이상으로 업그레이드하거나 def_language 파라미터에 대한 입력 검증을 추가

🔧 검증 코드

명령어 결과에서 def_language 파라미터 검증 로직이 있는지 확인. 버전 확인은 /opt/froxlor/VERSION 또는 composer.json에서 버전 정보 확인

Shell / Script
find / -name 'froxlor' -type d 2>/dev/null | head -1 | xargs grep -r 'def_language' 2>/dev/null | grep -v Binary

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

💻 영향받는 소프트웨어

PHP