🇰🇷 한글 설명
October CMS 3.7.14 이전 및 4.1.10 이전 버전의 INI 설정 파서에서 발생하는 서버 측 정보 공개 취약점입니다. PHP의 parse_ini_string() 함수가 ${} 문법으로 환경 변수 보간을 지원하기 때문에, Editor 권한을 가진 사용자가 CMS 페이지 설정 필드에 ${APP_KEY}나 ${DB_PASSWORD} 같은 패턴을 주입하면 민감한 환경 변수가 해석되어 저장되고, 공격자가 페이지를 다시 열 때 노출될 수 있습니다. 데이터베이스 암호, AWS 키, 애플리케이션 키 등의 자격증명 탈취로 이어질 수 있습니다.
💡 쉬운 설명
October라는 웹사이트 관리 시스템에서 관리 권한이 있는 사람이 설정을 입력할 때 특정 문구(${...})를 사용하면 서버의 중요한 비밀번호나 키 정보가 노출될 수 있습니다. 이렇게 노출된 정보는 나중에 페이지를 다시 열 때 공격자가 볼 수 있어 위험합니다.
🇺🇸 원문 (English)
October is a Content Management System (CMS) and web platform. Versions prior to 3.7.14 and 4.1.10 contain a server-side information disclosure vulnerability in the INI settings parser. Because PHP's parse_ini_string() function supports ${} syntax for environment variable interpolation, attackers with Editor access could inject patterns such as ${APP_KEY} or ${DB_PASSWORD} into CMS page settings fields, causing sensitive environment variables to be resolved, stored in the template, and returned to the attacker when the page was reopened. This could enable exfiltration of credentials and secrets (database passwords, AWS keys, application keys), potentially leading to further attacks such as database access or cookie forgery. The vulnerability is only relevant when cms.safe_mode is enabled, as direct PHP injection is already possible otherwise. This issue has been fixed in versions 3.7.14 and 4.1.10. If users are unable to immediately upgrade, they can workaround this issue by restricting Editor tool access to fully trusted administrators only, and ensuring database and cloud service credentials are not accessible from the web server's network.
📍 영향받는 시스템
October CMS 버전 3.7.14 이전, 4.1.10 이전 (cms.safe_mode 활성화 시)
⚔️ 공격 벡터
Editor 권한 사용자가 CMS 페이지 설정 필드에 ${APP_KEY}, ${DB_PASSWORD} 등의 환경 변수 참조를 주입
🛡️ 대응 방법
3.7.14 또는 4.1.10 이상으로 업그레이드하거나, Editor 권한을 신뢰할 수 있는 관리자만으로 제한
🔧 검증 코드
결과에서 버전이 3.7.14 미만 또는 4.1.10 미만이면 취약, 이상이면 안전
grep -r '"laravel/october"' /var/www 2>/dev/null | head -1