Kestrel
대시보드로 돌아가기
CVE-2026-69204CRITICALMITRENVDGHSA대응게시일: 2026. 09. 15.수정일: 2026. 09. 15.

Http4s Ember accepts Transfer-Encoding combined with Content-Length (CL.TE request smuggling)

위협 신호 · CVSS · EPSS · KEV

정기 패치· 높은 악용 신호 없음
CVSS
critical

이론적 심각도 점수

EPSS

예측 데이터 없음

KEV
미등재

실측 악용 기록 없음

권장 대응 기한60일 이내CISA SSVC 기준

계획된 패치 주기 내 조치(60일 이내)

외부 노출· KEV 미등재 · 자동화 어려움 · 부분 영향 · 외부 노출

CVSS 벡터 · 메트릭

CVSS 벡터 정보 없음

상세 설명

Summary

Ember's HTTP/1.1 request parser does not reject a message that carries both a
Transfer-Encoding and a Content-Length header. RFC 9112 §6.1 requires a
server to treat such a message as a framing error and close the connection.
An intermediary that follows the RFC's CL-strip-and-forward path (or that
prioritises Content-Length) will frame the body differently from Ember,
enabling HTTP request smuggling (CL.TE).

Impact

Server

Request smuggling when ember-server is an origin behind an intermediary that
forwards both headers over a keep-alive backend connection and frames by
Content-Length while Ember frames by chunked:

  • Front-end security bypass: the smuggled request reaches paths the
    intermediary's ACL/auth layer would have blocked, with attacker-chosen
    method and headers.
  • Cross-user request hijack: a dangling smuggled prefix concatenates with the
    next victim's request on the shared backend socket, capturing its headers.
  • Cache poisoning: the smuggled response is associated with the next request
    key in a caching proxy.

Client

ember-client shares the same parser on the response path. An upstream that
sends both headers can desync a pooled client connection. This requires a
malicious or compromised upstream.

Preconditions

  • Unauthenticated remote attacker (server)
  • ember-server as origin behind a keep-alive intermediary
  • Intermediary forwards a request carrying both Transfer-Encoding and
    Content-Length (RFC says it MAY reject; many forward) and frames by
    Content-Length
  • Malicious or compromised upstream (client)

Workarounds

  • Intermediary strictly rejects requests carrying both Transfer-Encoding
    and Content-Length
  • Intermediary buffers and re-encodes request bodies
  • Disable backend keep-alive between the intermediary and Ember

AI 심층 분석

공격 시나리오 · 재현 가능한 PoC 페이로드 · 즉시 적용 가능한 차단 패치를 한 번에 받아 보세요. 보안 운영팀이 그대로 점검·티켓팅에 쓸 수 있는 형태로 정리해 드립니다.