Re: [Gen-art] Genart last call review of draft-ietf-httpbis-cdn-loop-01

"Joel M. Halpern" <> Tue, 18 December 2018 03:56 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 3731C13102A; Mon, 17 Dec 2018 19:56:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id eKlL-HWWzzki; Mon, 17 Dec 2018 19:56:04 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 1726F130E3C; Mon, 17 Dec 2018 19:56:04 -0800 (PST)
Received: from localhost (localhost []) by (Postfix) with ESMTP id 43Jkhg5B86zX5K1; Mon, 17 Dec 2018 19:56:03 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=2.tigertech; t=1545105363; bh=HhSHBOZsg/T7lVtlD70Lfeb5QcGlR4CV4IWFDr5m7OA=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=peJtqMxeTzChEtdWw8LGle28tjAt2U7OUKHmkWHvxUnjZkXV3jOPve9LXK1s73TVQ d67LKohWlnTQeV9DCrcP3UZQfYflDn6zdal4lYFUrATR4WBfJT3mle0t7hco9aFyDD bw0LdoN7SiOWUWKktbBeycCXul1UkSb2H2qPoseo=
X-Virus-Scanned: Debian amavisd-new at
Received: from Joels-MacBook-Pro.local ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPSA id 43Jkhf3DQszX5Jw; Mon, 17 Dec 2018 19:56:02 -0800 (PST)
To: Mark Nottingham <>
References: <> <> <> <>
From: "Joel M. Halpern" <>
Message-ID: <>
Date: Mon, 17 Dec 2018 22:56:00 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.3.3
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Archived-At: <>
Subject: Re: [Gen-art] Genart last call review of draft-ietf-httpbis-cdn-loop-01
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 18 Dec 2018 03:56:07 -0000

Thanks for the rewrite on the first one.

I can live without adding the comment on the second.  I think the 
security folks will wonder and have to reproduce the reasoning as to why 
it is a non-issue.  (But if you add that disclaimer, they will probably 
just come up with another one.)


On 12/17/18 10:26 PM, Mark Nottingham wrote:
>> On 18 Dec 2018, at 1:16 pm, Joel M. Halpern <> wrote:
>> Thank you Mark.
>> On the first item, please look carefully at the use of pronouns.  It took me several readings to realize which CDNS "they" referred to.
> I've rewritten to:
> """
> Note that a CDN that allows customers to remove or modify the CDN-Loop header field (i.e., they do not implement this specification) remains an attack vector against both implementing and non-implementing CDNs.
> """
>> On the second item, it was not TLS protection I was referring to. Rather, I was imagining one bad cache stripping the loop prevention.  I think the real answer to that is that it is no worse than such a cache originating bad requests.
> s/cache/intermediary/, but yes -- there isn't any (or at least significant) amplification.
> Cheers,
>> Yours,
>> Joel
>> On 12/17/18 6:53 PM, Mark Nottingham wrote:
>>> Hi Joel,
>>> Thanks for the review.
>>>> On 4 Dec 2018, at 5:45 am, Joel Halpern <> wrote:
>>> ...
>>>>     This depends upon CDNs which have not been upgraded not stripping this
>>>>     header.  While I can believe that is a reasonable assumption, it seems that
>>>>     a paragraph explaining that it is the case, and if possible what experience
>>>>     leads us to think it is the case, would be helpful.
>>> I've added:
>>> """
>>> Note that if a CDN that does not implement this specification allows customers to remove or modify the CDN-Loop header field, that CDN could become an attack vector against other CDNs, even if they do implement it.
>>> """
>>>>     This document says that it is to protect against attackers causing loops.
>>>>     If the attacker is an external customer, the advice in the security
>>>>     considerations section makes sense.  The other apparent attack would be an
>>>>     attacker in the network who strips the information each time it comes past.
>>>>      I believe the reason this is only an apparent attack is that such an
>>>>     attacker could almost as easily simply generate additional messages instead
>>>>     of producing a loop.  If I have inferred this correctly, it seems useful to
>>>>     state it.
>>> CDN back-end connections are increasingly protected by HTTPS. Also, most back-end connections are over transit that's unlikely to meddle in these ways (unless a state actor is involved).
>>> Even so, the spec already says:
>>> """
>>> The threat model that the CDN-Loop header field addresses is a customer who is attempting to attack
>>> a service provider by configuring a forwarding loop by accident or malice.
>>> """
>>> .... which seems to address your concern. I'm wary of enumerating the attacks which this header doesn't prevent, since it's a necessarily open list. Inserting requirements like "back-end connections SHOULD be over HTTPS" are more appropriate for a general spec defining what a CDN is (and we're not there yet; this spec is a baby step towards that :).
>>> Cheers,
>>> --
>>> Mark Nottingham
> --
> Mark Nottingham