🇰🇷 한글 설명
PHP의 세션 처리 코드에서 유효하지 않은 세션 이름을 건너뛰는 방식으로 인해 세션 데이터 구문 분석이 제대로 되지 않는 취약점입니다. 공격자는 세션 이름을 조작하여 임의의 타입의 세션 데이터를 주입할 수 있으며, 객체 주입 공격을 통해 원격코드 실행까지 가능합니다.
💡 쉬운 설명
PHP 웹 서버의 세션 이름 처리 방식에 보안 구멍이 있어 공격자가 악의적인 데이터를 몰래 주입할 수 있습니다. 이를 통해 웹사이트가 공격자의 코드를 실행하도록 조작될 수 있습니다.
🇺🇸 원문 (English)
ext/session/session.c in PHP before 5.6.25 and 7.x before 7.0.10 skips invalid session names in a way that triggers incorrect parsing, which allows remote attackers to inject arbitrary-type session data by leveraging control of a session name, as demonstrated by object injection.
📍 영향받는 시스템
PHP 5.6.25 이전, 7.0.10 이전 버전
⚔️ 공격 벡터
세션 이름 파라미터를 조작하여 직렬화된 악의적 객체를 주입하고 역직렬화 과정에서 POP chain을 통해 원격코드 실행
🛡️ 대응 방법
PHP를 5.6.25 이상 또는 7.0.10 이상으로 즉시 업데이트하고 세션 이름 검증을 강화
🔧 검증 코드
명령어에서 5.6.25 미만 또는 7.0.10 미만의 버전이 표시되면 취약함, 그 외의 경우 패치된 버전 사용 중
php -v | grep -oP '(5\.[0-6]\.[0-9]+|7\.0\.[0-9])'