🇰🇷 한글 설명
Perl용 Dancer2 2.2.0 미만 버전의 headers_to_array 함수에서 응답 헤더 이름의 CR 및 LF 문자를 제거하지 않는 취약점이 발견되었습니다. 공격자가 헤더 이름에 제어 문자를 삽입하면 PSGI 서버를 통해 새로운 헤더 라인이 생성되어 응답을 분할할 수 있습니다.
💡 쉬운 설명
웹 서버가 응답을 보낼 때 헤더 이름에 숨겨진 줄바꿈 문자를 제대로 지우지 못하는 문제입니다. 이를 통해 공격자는 가짜 정보를 끼워 넣어 서버의 응답 내용을 조작할 수 있습니다.
🇺🇸 원문 (English)
Dancer2 versions before 2.2.0 for Perl do not strip CR and LF from response header names in headers_to_array.
The routine removes CR and LF from each header value but not from the name. A name carrying them therefore reaches the PSGI server intact. A server that does not validate keys writes it to the wire, so the bytes after the CRLF arrive as their own header line.
The application has to derive the header name from request data, not just the value.
An attacker who controls that data adds their own headers and splits the response.
📍 영향받는 시스템
Dancer2 (Perl) versions before 2.2.0
⚔️ 공격 벡터
공격자가 제어 가능한 데이터를 통해 헤더 이름에 CRLF 문자를 주입하여 HTTP 응답 분할(Response Splitting) 유도
🛡️ 대응 방법
Dancer2를 2.2.0 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 2.2.0 미만이면 취약한 상태입니다.
perl -MDancer2 -e 'print $Dancer2::VERSION . "\n"'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server