🇰🇷 한글 설명
Chamilo LMS에서 PlatformConfigurationController::decodeSettingArray() 메서드가 PHP eval()을 사용하여 데이터베이스의 플랫폼 설정을 파싱합니다. 관리자 권한을 가진 공격자가 설정에 임의의 PHP 코드를 주입하면 인증되지 않은 사용자를 포함한 모든 사용자가 /platform-config/list를 요청할 때 해당 코드가 실행됩니다.
💡 쉬운 설명
Chamilo LMS의 관리자가 악의적인 코드를 설정에 숨길 수 있고, 누구나 접속할 수 있는 페이지에서 그 코드가 자동으로 실행됩니다. 이를 통해 공격자가 서버를 완전히 제어할 수 있습니다.
🇺🇸 원문 (English)
Chamilo LMS is a learning management system. Prior to .0.0-RC.3, the PlatformConfigurationController::decodeSettingArray() method uses PHP's eval() to parse platform settings from the database. An attacker with admin access (obtainable via Advisory 1) can inject arbitrary PHP code into the settings, which is then executed when any user (including unauthenticated) requests /platform-config/list. This vulnerability is fixed in 2.0.0-RC.3.
📍 영향받는 시스템
Chamilo LMS 2.0.0-RC.3 이전 버전
⚔️ 공격 벡터
관리자 계정으로 플랫폼 설정에 PHP 코드를 주입 후, /platform-config/list 페이지 접속으로 코드 실행
🛡️ 대응 방법
Chamilo LMS를 2.0.0-RC.3 이상으로 업그레이드
🔧 검증 코드
응답에서 Chamilo 버전 정보를 확인하거나 페이지 접근 가능 여부를 통해 노출된 엔드포인트 존재 여부 판단
curl -s http://target/main/platform-config/list 2>/dev/null | grep -i 'version\|chamilo' || echo 'Not vulnerable or unreachable'