FixVibe

// 프로브 / 스포트라이트

CRLF / 응답 분할

사용자 입력이 응답 헤더에 들어가면, 줄바꿈을 통해 공격자가 자기 헤더를 쓸 수 있어요.

핵심

Response splitting is the network protocol equivalent of finding a typewriter and discovering the carriage-return key works. HTTP headers are delimited by `\r\n`. Any place user input gets concatenated into a header without filtering those bytes, the attacker can end one header line and start another. Modern frameworks strip CR/LF before they ever reach the wire, so most apps are immune by accident — but the bug still appears in custom header-handling code, in proxy layers that forward user-controlled values, and in language features that lag behind framework norms (raw FastCGI bridges, mod_perl, certain Lua patterns, anywhere someone wrote `header('Location: ' + req.query.next)` without the framework's redirect helper).

어떻게 동작하나요

CRLF injection appears when user-controlled text reaches response headers without proper normalization. Attackers may be able to split headers, poison caches, or alter downstream browser behavior.

피해 범위

Cookie injection (session fixation, role escalation if the app trusts cookies for authorization). Cache poisoning across CDN edges, where one attacker request taints responses for every later visitor. XSS via injected Content-Type or HTML body. CRLF in `Location:` headers can also enable open-redirect-style phishing through legitimate-looking flows.

// what fixvibe checks

What FixVibe checks

FixVibe checks this class with verified-domain active testing that is bounded, non-destructive, and evidence-driven. Public reports describe the affected surface and remediation. For check-specific questions about exact detection heuristics, active payload details, or source-code rule patterns, contact support@fixvibe.app.

확실한 방어

Strip or reject CR (`\r`, `%0d`) and LF (`\n`, `%0a`) in any user input that reaches a response header. Most modern frameworks do this automatically: Express's `res.redirect` rejects line breaks, Django's `HttpResponseRedirect` URL-encodes them, Rails sanitizes header values. The bugs cluster in custom code — proxy handlers, signed-URL generators, OAuth callback constructors, anywhere someone reaches into `res.setHeader` directly. Audit those code paths and pass user input through a strict header-value sanitizer. As a defense-in-depth measure, ensure your CDN normalizes or rejects ambiguous responses (most modern CDNs do this by default; older nginx-as-cache configurations may not). Use HTTP/2 between proxy and origin where possible — HTTP/2 frames eliminate the CR/LF parsing ambiguity entirely.

// 내 앱에서 직접 실행해보세요

FixVibe가 지켜보는 동안 계속 배포하세요.

FixVibe는 공격자가 보는 것처럼 앱의 공개 영역을 압박 테스트합니다 — 에이전트도, 설치도, 카드도 필요 없어요. 새로운 취약점 패턴을 계속 연구해 실용적인 체크와 Cursor, Claude, Copilot에 바로 붙여넣을 수 있는 수정안으로 바꿉니다.

능동 프로브
103
이 카테고리에서 실행되는 테스트
모듈
27
전용 능동 프로브 검사
매 스캔
384+
모든 카테고리 합계 테스트
  • 무료 — 카드 없이, 설치 없이, Slack 알림 없이
  • URL만 붙여넣으세요 — 크롤, 탐지, 보고는 저희가
  • 심각도별 분류, 중복 제거된 신호만
  • 최신 AI 수정 프롬프트를 Cursor, Claude, Copilot에 바로 붙여넣기
무료 스캔 실행

// 최신 체크 · 실용적인 수정 · 자신 있게 배포

CRLF / 응답 분할 — 취약점 스포트라이트 | FixVibe · FixVibe