🇰🇷 한글 설명
Sanic 웹 프레임워크의 HTTP/1.1 응답 파이프라인에서 헤더 이름과 값에 포함된 줄바꿈 문자(CRLF)를 적절히 차단하지 못하는 취약점이 발견되었습니다. 공격자가 제어 가능한 데이터가 헤더나 쿠키 등에 포함될 경우, 임의의 헤더를 삽입하거나 응답을 분할하여 세션 고정, 캐시 포이즈닝, 보안 헤더 변조를 수행할 수 있습니다.
💡 쉬운 설명
웹 서버가 사용자 데이터를 처리할 때 줄바꿈 문자를 제대로 검사하지 않아 발생하는 문제입니다. 이를 통해 해커가 가짜 정보를 끼워 넣어 사용자의 로그인 세션을 가로채거나 웹사이트의 보안 설정을 망가뜨릴 수 있습니다.
🇺🇸 원문 (English)
Sanic is an opensource python web server/framework. Prior to version 24.12.1, and in version 25.12.0, the HTTP/1.1 response pipeline in sanic/response/types.py serializes response header names and values without rejecting carriage-return or line-feed characters. Applications that place attacker-controlled data in response.headers, file(..., filename=...), or cookie path and domain attributes can therefore emit injected headers and may split responses. Depending on application and proxy behavior, this can enable session fixation through injected cookies, cache poisoning, or security-header corruption. This issue is fixed in versions 24.12.1 and 25.12.1.
📍 영향받는 시스템
Sanic version 24.12.1 미만 및 25.12.0 버전
⚔️ 공격 벡터
사용자 입력값이 응답 헤더, 파일 이름, 쿠키 경로 등에 포함될 때 CRLF 문자를 주입하여 응답 구조를 조작함
🛡️ 대응 방법
Sanic를 버전 24.12.1 또는 25.12.1 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 24.12.1 미만이거나 25.12.0인 경우 취약한 상태입니다.
pip show sanic | grep Version
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server