<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-rajappa-httpbis-connection-contamination-02" category="bcp" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="HTTP3 Connection Contamination Mitigation">Mitigating HTTP/3 Connection Contamination in Multi-Tenant and CDN-Fronted Deployments</title>
    <seriesInfo name="Internet-Draft" value="draft-rajappa-httpbis-connection-contamination-02"/>
    <author initials="M." surname="Rajappa" fullname="Madhusudhan Rajappa">
      <organization>IBM</organization>
      <address>
        <email>madhu.sudhan@in.ibm.com</email>
      </address>
    </author>
    <date year="2026" month="August" day="13"/>
    <area>Applications and Real-Time</area>
    <workgroup>httpbis</workgroup>
    <keyword>HTTP/3</keyword>
    <keyword>QUIC</keyword>
    <keyword>connection coalescing</keyword>
    <keyword>connection contamination</keyword>
    <keyword>TLS certificate scope</keyword>
    <keyword>421 Misdirected Request</keyword>
    <abstract>
      <?line 81?>

<t>HTTP/3 <xref target="RFC9114"/> clients commonly reuse ("coalesce") an existing QUIC <xref target="RFC9000"/>
connection for requests to a second origin when the TLS certificate presented on
that connection is also valid for the second origin, even though the two origins
may route to entirely different backends. This document describes
"connection contamination," a class of security exposure that arises when a
routing layer -- reverse proxy, load balancer, or CDN edge -- determines backend
routing using a signal established at connection setup rather than re-validated
per request. Under that condition, a coalesced connection can be used to reach
an unintended backend origin, potentially enabling cross-tenant data leakage,
authentication bypass, and response-queue interference analogous to HTTP request
smuggling.</t>
      <t>This document defines the underlying mechanism, characterizes the attacker model,
distinguishes connection contamination from related QUIC exposures, and provides
normative operational guidance for implementers and operators of HTTP/3-terminating
infrastructure.</t>
    </abstract>
  </front>
  <middle>
    <?line 100?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>HTTP/3 <xref target="RFC9114"/> and its QUIC <xref target="RFC9000"/> transport depart from a long-standing
assumption in HTTP/1.1- and HTTP/2-era infrastructure: that a network connection
is uniquely and durably associated with a single origin for the lifetime of that
connection, and that routing decisions made when the connection is established
remain valid for every request subsequently carried on it.</t>
      <t>To reduce handshake overhead, HTTP/3 clients are permitted to reuse an
already-open connection for a request to a second origin when the TLS
<xref target="RFC8446"/> certificate negotiated on that connection is also valid for the
second origin -- for example via a Subject Alternative Name (SAN) or wildcard
entry -- and the client considers the second origin's resolved address
equivalent to the address already in use (see <xref target="RFC9114"/> Section 3.3).
This behavior, known as connection coalescing, is a performance optimization
with no inherent security implication at the protocol level.</t>
      <t>Notably, <xref target="RFC9114"/> Section 3.3 already anticipates a server's need to
reject connection reuse for a given origin, noting that a server "that
does not wish clients to reuse HTTP/3 connections for a particular origin
can indicate that it is not authoritative for a request by sending a 421
(Misdirected Request) status code" (<xref target="RFC9110"/> Section 7.4). This
document's normative contribution is not a new protocol mechanism, but a
recommendation that this existing, currently optional behavior become
mandatory for the specific deployment pattern described in Section 4 --
where the operational cost of an occasional false rejection is
substantially lower than the cost of silent cross-tenant data exposure.</t>
      <t>A security-relevant side effect arises only when infrastructure in front of
the origin -- a reverse proxy, load balancer, or CDN edge -- makes or caches a
routing decision at connection establishment (or on the connection's first
request) rather than re-evaluating the effective request host on every request
the connection subsequently carries. Under that condition, a client holding a
coalescing-eligible connection to one origin can direct a subsequent request on
that same connection to a different origin sharing the same certificate, and
have that request delivered to the second origin's backend even though the
underlying transport and TLS session were established against the first. This
document refers to that condition as "connection contamination," following the
terminology introduced in <xref target="KETTLE2022"/>.</t>
      <t>Connection contamination is architecturally distinct from, though sharing a
common root cause with, QUIC connection-migration abuse against stateful
middleboxes as described in <xref target="COMSNETS2024"/>. The former is a
request-routing and data-isolation exposure; the latter is a resource-exhaustion
and availability exposure. This document addresses connection contamination only.</t>
      <t>This document applies to multi-tenant SaaS deployments and CDN-fronted
architectures in which two or more distinct origins are served behind a shared
TLS certificate and a shared HTTP/3 listener. Single-origin deployments are
outside its scope.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?>
      </t>
      <t>The following terms are used throughout this document:</t>
      <dl>
        <dt><strong>Origin:</strong></dt>
        <dd>
          <t>As defined in <xref target="RFC6454"/>, the tuple of (scheme, host, port) that
identifies a distinct web origin. Two origins are considered isolated
when no intentional cross-origin resource sharing or routing is permitted
between them.</t>
        </dd>
        <dt><strong>Connection Coalescing:</strong></dt>
        <dd>
          <t>The HTTP/3 client behavior, specified in <xref target="RFC9114"/> Section 3.3, by which
an existing QUIC connection may be reused for requests to a second origin
when the certificate already negotiated on that connection is also valid for
the second origin and the resolved addresses are considered equivalent.</t>
        </dd>
        <dt><strong>Connection Contamination:</strong></dt>
        <dd>
          <t>The condition, introduced in <xref target="KETTLE2022"/> and defined precisely in
Section 4 of this document, in which a coalesced request is delivered to
an unintended backend origin due to stale or connection-scoped routing at
a routing layer.</t>
        </dd>
        <dt><strong>Routing Layer:</strong></dt>
        <dd>
          <t>A reverse proxy, load balancer, or CDN edge component that receives HTTP/3
connections from clients and forwards requests to one or more upstream
backend origins based on request metadata.</t>
        </dd>
        <dt><strong>Effective Request Host:</strong></dt>
        <dd>
          <t>The value of the <tt>:authority</tt> pseudo-header field as defined in
<xref target="RFC9114"/> Section 4.3.1 (see also <xref target="RFC9110"/> Section 7.2 for the
Host/<tt>:authority</tt> relationship) carried on an individual HTTP/3 request,
which identifies the target origin for that request independently of any
connection-level signal.</t>
        </dd>
      </dl>
    </section>
    <section anchor="applicability">
      <name>Applicability</name>
      <t>This document applies to deployments meeting all of the following conditions:</t>
      <ol spacing="normal" type="1"><li>
          <t>One or more HTTP/3 listeners terminate connections on behalf of two or
more distinct origins (as defined in <xref target="RFC6454"/>).</t>
        </li>
        <li>
          <t>Those origins share a TLS certificate whose Subject Alternative Name (SAN)
set or wildcard pattern covers more than one origin hostname.</t>
        </li>
        <li>
          <t>A routing layer forwards requests from the shared listener to per-origin
backends.</t>
        </li>
      </ol>
      <t>Deployments in which all origins sharing a certificate are intentionally
permitted to share backend state (i.e., no isolation boundary exists) are
outside the primary scope of Section 6, though the detection guidance in
Section 6.5 may still be useful for confirming intentional behavior.</t>
      <t>Single-origin deployments, deployments using per-origin certificates, and
deployments where the HTTP/3 listener itself is the only backend (no
upstream routing) are out of scope.</t>
    </section>
    <section anchor="background-connection-coalescing">
      <name>Background: Connection Coalescing</name>
      <section anchor="protocol-rules">
        <name>Protocol Rules</name>
        <t>HTTP/3 clients determine coalescing eligibility per <xref target="RFC9114"/> Section 3.3
using two criteria applied at the transport/TLS layer:</t>
        <ol spacing="normal" type="1"><li>
            <t>The TLS certificate already negotiated on an open connection is valid for
the second origin's hostname (via SAN or wildcard match).</t>
          </li>
          <li>
            <t>DNS resolution for the second origin's hostname yields an IP address that
the client's stack considers equivalent to the address already in use for
the existing connection.</t>
          </li>
        </ol>
        <t>The standard does not mandate strict IP-address equality as the sole
definition of "equivalent address"; implementations MAY apply their own
equivalence criteria. Infrastructure MUST NOT assume that a given HTTP/3
connection will carry requests for only the origin used to establish it.</t>
      </section>
      <section anchor="relationship-to-http2-coalescing">
        <name>Relationship to HTTP/2 Coalescing</name>
        <t>HTTP/2 <xref target="RFC9113"/> Section 9.1.1 defines a structurally identical coalescing
mechanism: a client MAY reuse an existing connection for a second origin when
the server's TLS certificate is valid for that origin and the same IP address
is in use. The same stale-routing exposure described in this document therefore
applies to HTTP/2 deployments sharing certificates across isolation boundaries.
The present document is scoped to HTTP/3 for two reasons:</t>
        <ol spacing="normal" type="1"><li>
            <t>QUIC's UDP-based transport and built-in connection migration
(<xref target="RFC9000"/> Section 9) make it significantly harder for intermediaries to
correlate a given packet flow with the origin that established the
original connection, increasing the opacity of coalescing to infrastructure.</t>
          </li>
          <li>
            <t>HTTP/3 deployments are more likely to aggregate multiple tenants behind a
single QUIC listener at a CDN or cloud edge, amplifying the blast radius
when a routing layer misconfiguration is present.</t>
          </li>
        </ol>
        <t>Operators of HTTP/2 infrastructure sharing certificates across isolation
boundaries SHOULD apply the per-request host revalidation guidance in
Section 6.1 equally to HTTP/2 connections. A parallel BCP addressing the
HTTP/2 case may be warranted; that work is outside the scope of this document.</t>
      </section>
      <section anchor="client-behavior-variance">
        <name>Client Behavior Variance</name>
        <t>Client behavior with respect to coalescing-eligibility strictness is
implementation-defined. Different browser and library implementations may
apply different levels of address-equivalence checking, and this behavior
may change across software versions. Server-side mitigations defined in
Section 6 MUST NOT depend on any particular client-side coalescing behavior
remaining constant (see also Section 7).</t>
      </section>
    </section>
    <section anchor="connection-contamination-threat-description">
      <name>Connection Contamination: Threat Description</name>
      <section anchor="attacker-model">
        <name>Attacker Model</name>
        <t>The attacker is assumed to be a party able to open an HTTP/3 connection to
at least one origin in a shared-certificate set, but without authorization to
access one or more other origins covered by the same certificate. This
encompasses:</t>
        <ul spacing="normal">
          <li>
            <t>A co-tenant in a multi-tenant SaaS deployment who holds legitimate credentials
for their own tenant origin but not for other tenants.</t>
          </li>
          <li>
            <t>An external client who can resolve and reach a lower-trust origin (e.g., a
marketing or staging hostname) that shares a wildcard certificate with a
higher-trust origin (e.g., an authentication or payment endpoint).</t>
          </li>
          <li>
            <t>An attacker performing targeted cross-origin exfiltration by constructing
coalescing-eligible connections before issuing a forged-authority request.</t>
          </li>
        </ul>
        <t>The attacker does not need to compromise TLS, QUIC, or any cryptographic
primitive. The attack is entirely at the HTTP routing layer and requires only
a valid HTTP/3 client.</t>
      </section>
      <section anchor="threat-conditions">
        <name>Threat Conditions</name>
        <t>Connection contamination requires all three of the following conditions to
hold simultaneously:</t>
        <ol spacing="normal" type="1"><li>
            <t>A TLS certificate whose scope, via wildcard or multi-SAN issuance,
covers two or more origins that are intended to be logically or
organizationally isolated from one another.</t>
          </li>
          <li>
            <t>A client willing to coalesce an existing HTTP/3 connection onto a second
origin covered by that certificate, per Section 4.</t>
          </li>
          <li>
            <t>A routing layer that determines backend routing using a signal other than
the effective request host (<tt>:authority</tt>) re-evaluated on every individual
request -- for example, a cached association formed from the connection's
first request, or a routing key read once from the TLS SNI or QUIC
connection metadata rather than per request.</t>
          </li>
        </ol>
      </section>
      <section anchor="attack-path">
        <name>Attack Path</name>
        <t>The following illustrates a typical contamination scenario in a multi-tenant
CDN-fronted deployment:</t>
        <artwork><![CDATA[
Step 1 — Legitimate connection establishment:
  Client ──[QUIC handshake, SNI=tenant-a.example.com]──▶ CDN Edge
  CDN Edge: stores routing key "backend-A" keyed on connection ID
  CDN Edge ──▶ backend-A

Step 2 — Coalescing-eligible second request:
  Client (same connection): :authority = tenant-b.example.com
  CDN Edge: looks up routing key by connection ID → "backend-A"
  CDN Edge ──▶ backend-A   ← WRONG: should route to backend-B

Result:
  Tenant B's request is served by backend-A.
  Tenant A's response queue may be interleaved with Tenant B's traffic.
]]></artwork>
      </section>
      <section anchor="potential-consequences">
        <name>Potential Consequences</name>
        <t>Where the three conditions in Section 5.2 hold, the following effects are
possible:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Cross-tenant data leakage</strong>: Responses intended for one backend may be
returned to a client of a different backend if response queues are shared
or not strictly isolated per request.</t>
          </li>
          <li>
            <t><strong>Authentication bypass</strong>: If the contaminated backend performs
authorization checks relative to the connection's original SNI rather than
the request's <tt>:authority</tt>, a lower-privileged client may access
higher-privileged resources.</t>
          </li>
          <li>
            <t><strong>Cache contamination</strong>: A CDN or shared cache layer may store a response
under a cache key derived from the victim origin, poisoning subsequent
legitimate requests to that origin. Mitigations for this impact are
addressed in Section 6.5.</t>
          </li>
          <li>
            <t><strong>Response queue interference</strong>: Analogous to HTTP request smuggling
<xref target="REQUESTSMUGGLING"/>, interleaved responses on a shared backend connection
can cause response desynchronization.</t>
          </li>
        </ul>
        <t>The underlying mechanism here is QUIC-specific connection reuse and stale
routing, distinct from the ambiguous header parsing that enables classical
HTTP request smuggling <xref target="REQUESTSMUGGLING"/>.</t>
      </section>
    </section>
    <section anchor="recommendations">
      <name>Recommendations</name>
      <t>The following recommendations apply to operators and implementers of
HTTP/3-terminating infrastructure -- reverse proxies, load balancers, and
CDN edges -- that front more than one origin behind a shared TLS certificate.</t>
      <section anchor="per-request-host-revalidation">
        <name>Per-Request Host Revalidation</name>
        <t>A routing layer terminating HTTP/3 connections MUST re-evaluate the
effective request host -- the value of the <tt>:authority</tt> pseudo-header field
(<xref target="RFC9110"/> Section 7.2) -- on every individual request received on a
connection, and MUST NOT rely solely on a routing decision cached from
connection establishment, from the TLS SNI negotiated at handshake, or from
an earlier request on the same connection.</t>
        <t>Where a routing layer determines that a request's <tt>:authority</tt> value does not
correspond to an origin it can properly serve on the connection on which the
request arrived, it MUST respond with <tt>421 (Misdirected Request)</tt>
(<xref target="RFC9110"/> Sections 7.4 and 15.5.20) rather than forwarding the request to
an incorrect backend.</t>
        <t>These requirements reflect current practice among major HTTP/3 reverse proxy
implementations (e.g., Nginx, Envoy, and Caddy each perform per-request
<tt>:authority</tt> evaluation by default when virtual-host routing is configured)
and are consistent with the server behavior already anticipated by
<xref target="RFC9114"/> Section 3.3. The MUST level is warranted because silent
incorrect routing -- the failure mode in the absence of this requirement --
constitutes a data-isolation breach with no observable signal to the affected
tenant.</t>
      </section>
      <section anchor="certificate-scope-minimization">
        <name>Certificate Scope Minimization</name>
        <t>Operators SHOULD NOT deploy a TLS certificate whose SAN or wildcard scope
spans origins with differing trust levels or isolation requirements. Where
broad-scope certificates are operationally necessary (for example, in
multi-tenant SaaS hosting or large-scale CDN deployments), the routing layer
behind that certificate MUST implement per-request host revalidation as
described in Section 6.1 without exception.</t>
      </section>
      <section anchor="sni-and-authority-consistency-enforcement">
        <name>SNI and :authority Consistency Enforcement</name>
        <t>A routing layer SHOULD compare the TLS SNI value presented at handshake with
the <tt>:authority</tt> pseudo-header of each subsequent request on the same
connection. A mismatch between SNI and <tt>:authority</tt> is a reliable indicator
of a coalesced request and SHOULD trigger revalidation logic. Where the
routing layer cannot serve the <tt>:authority</tt> value on the current connection,
it MUST respond with <tt>421 (Misdirected Request)</tt> per <xref target="RFC9110"/> Section
15.5.20, allowing compliant clients to retry on a new connection.</t>
      </section>
      <section anchor="trust-boundary-segmentation">
        <name>Trust-Boundary Segmentation</name>
        <t>Where isolation requirements differ significantly between origins (for
example, an origin handling authentication or payment functions versus a
marketing or staging origin), operators SHOULD segment HTTP/3 listeners such
that high-isolation origins are not reachable via a certificate shared with
lower-trust origins. This segmentation SHOULD be implemented as defense in
depth, independent of whether Section 6.1 is correctly implemented.</t>
      </section>
      <section anchor="cache-contamination-mitigation">
        <name>Cache Contamination Mitigation</name>
        <t>When a routing layer is co-located with or upstream of a shared cache, the
following additional controls MUST or SHOULD be applied to prevent cache
contamination (one of the consequences identified in Section 5.4):</t>
        <ol spacing="normal" type="1"><li>
            <t>Cache keys MUST include the effective request host (<tt>:authority</tt> value)
and MUST NOT be derived solely from connection-level metadata such as the
TLS SNI or QUIC connection ID.</t>
          </li>
          <li>
            <t>Routing layers SHOULD propagate a verified, normalized host value to
upstream caches as part of the forwarded request rather than relying on
the cache to re-derive it independently.</t>
          </li>
          <li>
            <t>Cache entries associated with a given origin MUST NOT be served in
response to a request whose <tt>:authority</tt> names a different origin, even
when both origins are covered by the same TLS certificate.</t>
          </li>
        </ol>
        <t>Operators SHOULD audit cache-key configuration on shared caches whenever
per-request host revalidation (Section 6.1) is first deployed, as correcting
routing behavior without correcting cache-key derivation leaves the cache
contamination consequence unmitigated.</t>
      </section>
      <section anchor="detection-guidance">
        <name>Detection Guidance</name>
        <t>Operators assessing existing infrastructure for this exposure SHOULD:</t>
        <ol spacing="normal" type="1"><li>
            <t>Enumerate the full SAN and wildcard scope of each TLS certificate served
on HTTP/3 listeners in scope.</t>
          </li>
          <li>
            <t>For each pair of hostnames sharing a certificate, determine whether a
client would consider them coalescing-eligible per Section 4 and
<xref target="RFC9114"/> Section 3.3.</t>
          </li>
          <li>
            <t>For each coalescing-eligible pair, verify -- via authorized testing only --
that a request specifying the second hostname's <tt>:authority</tt>, issued on a
connection established against the first hostname, is either:
            </t>
            <ul spacing="normal">
              <li>
                <t>Rejected with <tt>421 (Misdirected Request)</tt> per <xref target="RFC9110"/> Section 15.5.20, or</t>
              </li>
              <li>
                <t>Independently re-routed to the correct backend for the second hostname.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Confirm that no routing state keyed on connection ID, QUIC connection
metadata, or TLS session parameters persists across requests in a way
that could override per-request <tt>:authority</tt> evaluation.</t>
          </li>
          <li>
            <t>Verify that cache keys on any shared cache layer include the effective
request host and cannot be collided across tenant origins.</t>
          </li>
        </ol>
        <t>Operators performing this verification SHOULD use non-destructive, read-only
requests and MUST NOT perform this testing against infrastructure without
explicit authorization from the system owner.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This entire document concerns a security exposure and its mitigation;
Section 6 constitutes its primary normative guidance.</t>
      <section anchor="client-behavior-must-not-be-assumed-stable">
        <name>Client Behavior Must Not Be Assumed Stable</name>
        <t>Browser and library client behavior with respect to the strictness of
coalescing-eligibility evaluation (Section 4.1) is an implementation choice
that is not guaranteed by <xref target="RFC9114"/> or <xref target="RFC9000"/> and may vary across
client versions. Server-side mitigations per Section 6 MUST NOT depend on
any particular client-side coalescing behavior remaining constant. A more
permissive future client implementation would silently expand the exposure
window for infrastructure that relied on current client behavior as a
mitigating control.</t>
      </section>
      <section anchor="connection-migration-interaction">
        <name>Connection Migration Interaction</name>
        <t>QUIC connection migration (<xref target="RFC9000"/> Section 9) allows a QUIC connection
to survive changes in the client's network path (e.g., switching from Wi-Fi
to cellular). Migration does not materially change the threat surface
described in this document: the connection and its associated TLS session
remain the same object, coalescing eligibility criteria are unaffected, and
routing-layer state keyed on connection ID survives the migration. Operators
SHOULD NOT treat connection migration as a mitigating factor for connection
contamination.</t>
      </section>
      <section anchor="misdirected-request-as-a-defense-mechanism">
        <name>421 Misdirected Request as a Defense Mechanism</name>
        <t>The <tt>421 (Misdirected Request)</tt> status code defined in <xref target="RFC9110"/>
Section 15.5.20 was introduced specifically to handle the case in which a
server receives a request on a connection it cannot properly serve for
that target origin. <xref target="RFC9114"/> Section 3.3 already identifies this status
code as the mechanism by which a server opts out of connection reuse for
a given origin -- this document does not introduce new protocol behavior,
but elevates an existing, currently discretionary ("can indicate")
mechanism to a normative requirement (Section 6.1) for the specific
class of deployment described in Section 4, where the isolation stakes
of an incorrect reuse decision are high. Correct implementation of 421
responses at routing layers is therefore not merely a best practice but
the base specification's own designated defense, and is the primary
normative defense against connection contamination described in this
document. Implementations that suppress or translate 421 responses
negate this defense.</t>
      </section>
      <section anchor="scope-of-normative-requirements">
        <name>Scope of Normative Requirements</name>
        <t>The normative requirements in Section 6 are addressed to routing-layer
implementers and operators. They do not impose requirements on HTTP/3 client
implementations, which are governed by <xref target="RFC9114"/> and <xref target="RFC9000"/>.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC9114">
          <front>
            <title>HTTP/3</title>
            <author fullname="M. Bishop" initials="M." role="editor" surname="Bishop"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The QUIC transport protocol has several features that are desirable in a transport for HTTP, such as stream multiplexing, per-stream flow control, and low-latency connection establishment. This document describes a mapping of HTTP semantics over QUIC. This document also identifies HTTP/2 features that are subsumed by QUIC and describes how HTTP/2 extensions can be ported to HTTP/3.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9114"/>
          <seriesInfo name="DOI" value="10.17487/RFC9114"/>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="RFC6454">
          <front>
            <title>The Web Origin Concept</title>
            <author fullname="A. Barth" initials="A." surname="Barth"/>
            <date month="December" year="2011"/>
            <abstract>
              <t>This document defines the concept of an "origin", which is often used as the scope of authority or privilege by user agents. Typically, user agents isolate content retrieved from different origins to prevent malicious web site operators from interfering with the operation of benign web sites. In addition to outlining the principles that underlie the concept of origin, this document details how to determine the origin of a URI and how to serialize an origin into a string. It also defines an HTTP header field, named "Origin", that indicates which origins are associated with an HTTP request. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6454"/>
          <seriesInfo name="DOI" value="10.17487/RFC6454"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9113">
          <front>
            <title>HTTP/2</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <author fullname="C. Benfield" initials="C." role="editor" surname="Benfield"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>This specification describes an optimized expression of the semantics of the Hypertext Transfer Protocol (HTTP), referred to as HTTP version 2 (HTTP/2). HTTP/2 enables a more efficient use of network resources and a reduced latency by introducing field compression and allowing multiple concurrent exchanges on the same connection.</t>
              <t>This document obsoletes RFCs 7540 and 8740.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9113"/>
          <seriesInfo name="DOI" value="10.17487/RFC9113"/>
        </reference>
        <reference anchor="KETTLE2022" target="https://portswigger.net/research/http-3-connection-contamination">
          <front>
            <title>HTTP/3 connection contamination: an upcoming threat?</title>
            <author initials="J." surname="Kettle" fullname="James Kettle">
              <organization>PortSwigger Research</organization>
            </author>
            <date year="2022"/>
          </front>
          <annotation>Original public research introducing the HTTP/3 connection contamination vulnerability class discussed throughout this document.</annotation>
        </reference>
        <reference anchor="REQUESTSMUGGLING" target="https://www.defcon.org/html/defcon-27/dc-27-speakers.html#Kettle">
          <front>
            <title>HTTP Request Smuggling</title>
            <author initials="J." surname="Kettle" fullname="James Kettle">
              <organization>PortSwigger Research</organization>
            </author>
            <date year="2019"/>
          </front>
          <seriesInfo name="DEF CON 27 AppSec Village" value="Las Vegas, NV, USA"/>
          <annotation>Original public presentation of HTTP request-smuggling techniques; referenced here to establish analogy with response-queue interference described in Section 5.4.</annotation>
        </reference>
        <reference anchor="COMSNETS2024" target="https://ieeexplore.ieee.org/document/10427406">
          <front>
            <title>Security and Service Vulnerabilities with HTTP/3</title>
            <author initials="H.H." surname="Hari Hara Sudhan S" fullname="Hari Hara Sudhan S">
              <organization/>
            </author>
            <author initials="S. G." surname="Kulkarni" fullname="Sameer G. Kulkarni">
              <organization/>
            </author>
            <date year="2024"/>
          </front>
          <seriesInfo name="2024 16th International Conference on COMmunication Systems &amp; NETworkS (COMSNETS), Bengaluru, India" value="pp. 55-60, doi: 10.1109/COMSNETS59351.2024.10427406"/>
        </reference>
      </references>
    </references>
    <?line 504?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author acknowledges the original public research on this exposure class by
James Kettle of PortSwigger Research <xref target="KETTLE2022"/>, on which the threat
description in Section 5 draws directly. The author also acknowledges
<xref target="COMSNETS2024"/> for characterizing related QUIC transport-layer security
vulnerabilities in multi-tenant contexts.</t>
    </section>
    <section numbered="false" anchor="changes-from-00">
      <name>Changes from -00</name>
      <t>-01 added the Applicability section (Section 3), the Attacker Model
(Section 5.1) with concrete actor scenarios, an illustrated Attack Path
walkthrough (Section 5.3), the SNI and :authority Consistency Enforcement
recommendation (Section 6.3), the Cache Contamination Mitigation
recommendation (Section 6.5), the Connection Migration Interaction
discussion (Section 7.2), and explicit grounding of the Section 6.1 MUST
requirement in the pre-existing, currently discretionary mechanism already
described in <xref target="RFC9114"/> Section 3.3 (Section 7.3). Reference-section
citations for <xref target="RFC9114"/>, <xref target="RFC9110"/>, and <xref target="RFC9113"/> were corrected to
their proper section numbers throughout.</t>
      <t>-02 corrected two reference errors: the <xref target="KETTLE2022"/> entry was updated
to cite the original PortSwigger research post that introduced the
connection contamination terminology used throughout this document,
replacing an incorrectly titled prior entry; the <xref target="COMSNETS2024"/> author
list was corrected to list only the paper's actual two authors.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8Vc3XLcyHW+76focKsSUjUYkRSljbixHYrS7soWKVlDrSvl
cmV7gJ4ZrDAAggZIzW7J5Stfp1KuXOcp8gB5lH2SnL9uNDAz1Co3cbm0w/lp
dJ8+P9/5zulOkkS1eVvYc32Vt/nStHm51N/e3Lx5+EhfVmVp0zavSnzZmnVe
GvorL/VVV7R5cmNLU7balJm+fH6dfN3A12ymn9u6qDZrW7ZOmfm8sbfnNOY9
Q/qnV6XKqrQ0a5hR1phFmzTmB1PXJlm1bT3PXZKGIfBlP0RyfKpS09pl1WzO
9Tytlevm69w5+Kzd1DDeyxc3XyvTWHOuL+q6yFP6naPpv7WmSG7ytVV3VfN+
2VRdfa7lkeq93cC72bnSicgGX/3+3ctL/G8/IXhpCutSkOHWB9FM8bObVzOd
2qbNFzgNq11a1RY/ODs9AWG4LG/gpxYn9m+dda1Sed2c67bpXHt6fPwUFuta
mPi/mqIqYW0b61Sdn+s/tlU60a5q2sYuHLzarPHFn5QyXbuqGlyD0vC/vHSw
51P9lsVL77HYr0y26lyXrUw5+LRqlqbMf6QlgDCfXdG7dm3y4lyv8UdT/tU/
5+U0n6+nabVWqqyaNfzk1sKT9duvL09PTp7Ky388+fJMXj49OQkvj4+P/RfO
zp70X/DvPjl7DN9VebkYDQ3feYQvf/fi5ubVi9Pj09NzmqIo+IGo9b5tOQdF
0F0Ns0YbaFegKO1vDmiEIDv6XyL/FSH+dqp/Z1t4RHib5fhb+NeNPwIhnus3
sD2zu3y5tA3sr7OmSVf0jQxU4VzjzHniplnaFmaOiujOHz6s4YeOfzgtbfuw
kR8/xC8kj/bahqyiLKtWlvprmdHrJl/Clwpdd3OwCO1HhKW1TZV1KcvC6i3h
yQCD5+jbrihtY+Z5kbcbnRbGOZ3lLu2cA10GmVbdclV1LbzM4ZMq7dBLTHH/
Xvz+3YvZzezq3TffvHp5/c321nlT0LN1t1wWMLH/n805eUp/Otvk1qEW+kcf
PH/xtb58fa1Pv0QHM7Op/i4vCrO0B7CEV8bp7+zSgFFefzfR72YXB7s3+e7u
bprZBQh2ChOCrV0XD/nv5PTLh1kK/yautua9bdwUP/2Cl/HLN7nGXS75W7pa
0N7CzpN0E+elq1ubrsoc3/1KBgJXYhtbprCXK3ih20rDTwwM6lbwZPBFy42+
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
7RIVYQAA

-->

</rfc>
