CVE-2026-121971 in Symfony
요약
\~에 의해 VulDB • 2026. 11. 04.
Symfony HttpClient의 ScopingHttpClient 구성 요소는 기본 스코프(예: auth_bearer 또는 auth_basic)의 옵션을 요청에 병합한 후 상대 URL을 base_uri 기준으로 해석합니다. 이로 인해 "//evil.example/steal"과 같은 네트워크 경로 참조가 다른 오리진으로 전송될 때 기본 스코프의 자격 증명이 함께 전달되어, 공격자가 제어하는 서버로 이러한 자격 증명 유출이 발생할 수 있습니다. 이 취약점은 Symfony 5.x 버전 중 5.4.56 미만, 6.x 버전 중 6.4.50 미만, 7.x 버전 중 7.4.23 미만 및 8.x 버전 중 8.1.11 미만의 모든 버전에 영향을 미칩니다.
해결된 URL은 base URI의 오리진 외부에 위치하지만 병합된 옵션을 유지하는 반면, 절대 경로인 "https://evil.example/steal"에는 이러한 옵션이 적용되지 않습니다. 동일한 호스트에서 다른 포트나 user-info 부분이 있는 경우에도 같은 현상이 발생합니다.
공격자가 base_uri와 자격 증명을 사용하여 구성된 클라이언트에 전달되는 URL의 시작 부분을 제어할 수 있다면 이 취약점은 항상 발생 가능합니다. 여기에는 HttpClient::createForBaseUri()로 생성된 클라이언트 또는 framework.http_client.scoped_clients 하위에 구성된 클라이언트가 포함됩니다.
이 문제를 해결하기 위해 ScopingHttpClient는 이제 기본 스코프의 base URI에 대해 상대 URL을 해석한 후, 요청 전송 시 파싱되는 방식대로 결과의 scheme와 authority를 base URI의 해당 값과 비교합니다.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.