CVE-2026-40295 in devise
요약
\~에 의해 VulDB • 2026. 05. 22.
Devise는 Warden을 기반으로 하는 Rails용 인증 솔루션입니다. 5.0.3 이하 버전에서 Devise의 Timeoutable 모듈이 활성화되어 있을 경우, 세션 타임아웃을 유발하는 GET이 아닌 모든 요청에 대해 FailureApp#redirect_url 메서드는 검증 없이 request.referrer(공격자가 제어 가능한 HTTP Referer 헤더)를 반환합니다. 자동 제출되는 크로스 오리진 폼을 호스팅하는 공격자는 만료된 Devise 세션을 가진 사용자를 임의의 외부 URL로 리디렉션할 수 있습니다. 이는 서버 측에서 attempted_path를 사용하는 GET 타임아웃 경로와 extract_path_from_location을 통해 외부 호스트를 제거하는 Devise의 store_location_for 메커니즘(둘 다 보호됨)과 대조적입니다. 오직 GET이 아닌 타임아웃 리디렉션 경로만 보호되지 않습니다. 만료된 세션 사용자는 신뢰할 수 있는 앱 도메인에서 공격자가 제어하는 URL로 사일런트 리디렉션될 수 있으며, 이는 브라우저 경고를 우회하면서 피싱 및 악성코드 유포를 가능하게 합니다. 참고: Rails의 기본 오픈 리디렉션 보호 기능은 이 문제를 완화하지 않습니다. Devise::FailureApp은 관련 리디렉션 구성의 자체 격리된 사본을 가진 ActionController::Metal 앱이므로, config.action_controller.action_on_open_redirect = :raise(및 구 raise_on_open_redirects 설정)는 해당 앱에 적용되지 않습니다. 이 문제는 버전 5.0.4에서 수정되었습니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.