🇰🇷 한글 설명
Serendipity PHP 웹로그 엔진 2.6-beta2 이하 버전에서 Host 헤더가 검증 없이 인증 쿠키의 도메인으로 설정되는 취약점입니다. 공격자가 Host 헤더를 조작하면 세션 토큰을 자신의 도메인으로 스코핑하여 세션 고정, 토큰 유출, 관리자 권한 탈취가 가능합니다.
💡 쉬운 설명
Serendipity 웹사이트 프로그램에서 로그인 시 쿠키가 잘못된 도메인에 저장될 수 있습니다. 공격자가 이를 악용하면 다른 사람의 로그인 정보를 탈취할 수 있습니다.
🇺🇸 원문 (English)
Serendipity is a PHP-powered weblog engine. In versions 2.6-beta2 and below, the serendipity_setCookie() function in include/functions_config.inc.php uses $_SERVER['HTTP_HOST'] without validation as the domain parameter of setcookie(). An attacker who can influence the Host header at login time, such as via MITM, reverse proxy misconfiguration, or load balancer manipulation, can force authentication cookies including session tokens and auto-login tokens to be scoped to an attacker-controlled domain. This enables session fixation, token leakage to attacker-controlled infrastructure, and privilege escalation if an admin logs in under a poisoned Host header. This issue has been fixed in version 2.6.0.
📍 영향받는 시스템
Serendipity 버전 2.6-beta2 이하
⚔️ 공격 벡터
로그인 시점에 Host 헤더 조작 (MITM, reverse proxy 오설정, load balancer 조작)
🛡️ 대응 방법
Serendipity를 버전 2.6.0 이상으로 업그레이드
🔧 검증 코드
취약한 패턴이 검출되면 버전 2.6.0으로 업그레이드 필요; 검출 없으면 안전
grep -r 'serendipity_setCookie\|HTTP_HOST.*setcookie' /var/www/serendipity/include/ 2>/dev/null