🇰🇷 한글 설명
CodeIgniter 4.7.4 미만 버전에서 IncomingRequest::isSecure() 함수가 X-Forwarded-Proto 및 Front-End-Https 헤더를 무조건 신뢰하여 발생하는 취약점입니다. 공격자가 이 헤더를 조작하면 HTTP 요청을 보안 연결(HTTPS)인 것처럼 속일 수 있어, 보안 정책 우회에 악용될 수 있습니다.
💡 쉬운 설명
웹사이트가 '이 연결은 안전한 HTTPS 연결이다'라고 판단할 때 사용하는 정보를 공격자가 가짜로 만들 수 있는 문제입니다. 이를 통해 보안이 필요한 페이지에 암호화되지 않은 방식으로 접근할 위험이 있습니다.
🇺🇸 원문 (English)
CodeIgniter is a PHP full-stack web framework. In versions prior to 4.7.4, IncomingRequest::isSecure() trusted the X-Forwarded-Proto and Front-End-Https headers from any incoming request, allowing an attacker could spoof these headers and cause the application to incorrectly treat an HTTP request as secure. This may have impacted applications that rely on isSecure(), force_https(), forceGlobalSecureRequests, or similar logic to enforce HTTPS-only access or make security-sensitive decisions. Exploitability depends on deployment configuration. Applications are most exposed if the backend is reachable directly over HTTP, or if a reverse proxy/load balancer forwards client-supplied forwarding headers without stripping or overwriting them. This issue has been fixed in version 4.7.4.
📍 영향받는 시스템
CodeIgniter versions prior to 4.7.4
⚔️ 공격 벡터
HTTP 요청 헤더(X-Forwarded-Proto, Front-End-Https)를 조작하여 보안 상태를 속이는 방식
🛡️ 대응 방법
CodeIgniter를 최신 버전인 4.7.4 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 정보가 4.7.4 미만인지 확인하십시오.
composer show codeigniter4/framework | grep 'versions'