🇰🇷 한글 설명
curl이 사용자 정보(username:password)가 포함된 URL로 HTTP 리다이렉트를 처리할 때, 원래 호스트의 HTTP Negotiate 인증 상태를 잘못 유지하여 재전송할 수 있는 취약점입니다. 이를 통해 악의적인 서버는 클라이언트의 Kerberos 티켓을 신뢰할 수 없는 제3자 호스트로 강제 전송하게 하여 도메인 범위 제한을 우회할 수 있습니다.
💡 쉬운 설명
인터넷 연결 도구인 curl이 다른 사이트로 이동할 때, 원래 사이트에서 사용하던 중요한 로그인 정보를 새로운 사이트에도 실수로 넘겨주는 문제입니다. 공격자는 이를 이용해 사용자의 인증 정보를 가로채거나 도용할 수 있습니다.
🇺🇸 원문 (English)
When processing an HTTP redirect to a URL containing userinfo (a
`username:password` component), curl might erroneously retain and re-transmit
the original host's HTTP Negotiate authentication state. Consequently, a
malicious server can trigger a redirect containing arbitrary userinfo to force
curl to send a freshly minted Kerberos ticket—generated using the ambient
identity of the client process to an untrusted third-party host, effectively
bypassing the domain-scoping restrictions normally enforced by the absence of
`--location-trusted`.
📍 영향받는 시스템
userinfo가 포함된 리다이렉트를 처리하는 curl 버전 (patch 적용 전 버전)
⚔️ 공격 벡터
악의적인 서버가 사용자 정보가 포함된 URL로 리다이렉트를 유도하여 Kerberos 인증 티켓을 탈취
🛡️ 대응 방법
curl을 최신 보안 패치가 적용된 버전으로 업데이트하거나, 리다이렉트 시 --location-trusted 옵션 사용을 지양함
🔧 검증 코드
출력된 curl의 버전을 확인하여 해당 취약점이 해결된 최신 버전인지 확인합니다.