🇰🇷 한글 설명
Gleam 웹 서버인 ewe의 3.0.6 미만 버전에서 encode_headers 함수가 응답 헤더의 키와 값을 검증 없이 직접 삽입하는 취약점이 발견되었습니다. 공격자가 CRLF(
) 시퀀스를 주입하여 임의의 HTTP 응답 내용을 삽입할 수 있으며, 이는 응답 분할, 캐시 포이즈닝 및 XSS로 이어질 수 있습니다.
💡 쉬운 설명
웹 서버가 사용자 데이터를 처리할 때 줄바꿈 문자를 제대로 걸러내지 못해 발생하는 문제입니다. 이를 통해 해커가 가짜 응답을 끼워 넣어 웹사이트를 변조하거나 보안을 무력화할 수 있습니다.
🇺🇸 원문 (English)
ewe is a Gleam web server. Prior to version 3.0.6, the encode_headers function in src/ewe/internal/encoder.gleam directly interpolates response header keys and values into raw HTTP bytes without validating or stripping CRLF (\r\n) sequences. An application that passes user-controlled data into response headers (e.g., setting a Location redirect header from a request parameter) allows an attacker to inject arbitrary HTTP response content, leading to response splitting, cache poisoning, and possible cross-site scripting. Notably, ewe does validate CRLF in incoming request headers via validate_field_value() in the HTTP/1.1 parser — but provides no equivalent protection for outgoing response headers in the encoder. This issue has been patched in version 3.0.6.
📍 영향받는 시스템
ewe web server version < 3.0.6
⚔️ 공격 벡터
사용자 입력값이 응답 헤더(예: Location 헤더)에 포함될 때 CRLF 문자를 주입하여 HTTP 응답을 조작함
🛡️ 대응 방법
ewe 웹 서버를 버전 3.0.6 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 ewe의 버전을 확인하여 3.0.6 미만인지 체크합니다.
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server