🇰🇷 한글 설명
eyeOS 0.8.9 이전 버전의 desktop.php에서 session_start() 함수 호출 전 _SESSION 변수 존재 여부를 제대로 확인하지 않아, 원격 공격자가 _SESSION 배열을 조작하여 임의의 PHP 코드를 실행할 수 있는 취약점입니다. 애플리케이션의 중요한 불변 변수들이 변조될 수 있어 다양한 공격이 가능합니다.
💡 쉬운 설명
eyeOS 파일 관리 프로그램이 사용자 세션을 제대로 보호하지 않아서, 공격자가 악의적인 PHP 코드를 주입하여 실행할 수 있는 문제입니다. 마치 보안 검사 없이 누군가 시스템에 접근하는 것과 같습니다.
🇺🇸 원문 (English)
desktop.php in eyeOS 0.8.9 and earlier tests for the existence of the _SESSION variable before calling the session_start function, which allows remote attackers to execute arbitrary PHP code and possibly conduct other attacks by modifying critical assumed-immutable variables, as demonstrated using PHP code in the _SESSION[apps][eyeOptions.eyeapp][wrapup] variable.
📍 영향받는 시스템
eyeOS 0.8.9 이전 모든 버전
⚔️ 공격 벡터
HTTP 요청을 통해 _SESSION[apps][eyeOptions.eyeapp][wrapup] 변수에 PHP 코드를 삽입하여 원격 코드 실행 달성
🛡️ 대응 방법
eyeOS를 최신 버전으로 업그레이드하거나, desktop.php에서 session_start() 전에 session_status() 확인 로직 추가
🔧 검증 코드
파일이 발견되면 해당 파일에서 _SESSION 변수를 직접 사용하거나 평가하는 코드가 있으면 취약함
find / -name 'desktop.php' -type f 2>/dev/null | xargs grep -l '_SESSION.*wrapup' 2>/dev/null | head -5