🇰🇷 한글 설명
Rack 웹 서버 인터페이스의 Multipart 파서에서 백슬래시 이스케이프 문자가 많이 포함된 인용구 파라미터를 처리할 때 발생하는 취약점입니다. 공격자가 특수하게 조작된 multipart/form-data 요청을 보내면 CPU 사용량이 급증하여 서비스 거부(DoS) 상태를 유발할 수 있습니다.
💡 쉬운 설명
웹 서버가 복잡하게 꼬인 데이터를 처리하느라 과도한 계산을 하게 만들어 서버를 멈추게 하는 공격입니다. 악의적인 요청을 보내 서버의 CPU 자원을 모두 소모시켜 정상적인 서비스를 방해합니다.
🇺🇸 원문 (English)
Rack is a modular Ruby web server interface. From versions 3.0.0.beta1 to before 3.1.21, and 3.2.0 to before 3.2.6, Rack::Multipart::Parser#handle_mime_head parses quoted multipart parameters such as Content-Disposition: form-data; name="..." using repeated String#index searches combined with String#slice! prefix deletion. For escape-heavy quoted values, this causes super-linear processing. An unauthenticated attacker can send a crafted multipart/form-data request containing many parts with long backslash-escaped parameter values to trigger excessive CPU usage during multipart parsing. This results in a denial of service condition in Rack applications that accept multipart form data. This issue has been patched in versions 3.1.21 and 3.2.6.
📍 영향받는 시스템
Rack 3.0.0.beta1 ~ 3.1.20, 3.2.0 ~ 3.2.5
⚔️ 공격 벡터
조작된 백슬래시 이스케이프 문자가 포함된 multipart/form-data 요청 전송
🛡️ 대응 방법
Rack 버전을 3.1.21 또는 3.2.6 이상으로 업데이트
🔧 검증 코드
출력된 Rack 버전이 3.1.21 미만 또는 3.2.6 미만인지 확인