Re: [Last-Call] Tsvart last call review of draft-ietf-6man-icmp-limits-07

Suresh Krishnan <suresh.krishnan@gmail.com> Wed, 26 February 2020 04:01 UTC

Return-Path: <suresh.krishnan@gmail.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 515DB3A0BE9; Tue, 25 Feb 2020 20:01:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ol6qx2ds9eQC; Tue, 25 Feb 2020 20:01:56 -0800 (PST)
Received: from mail-yw1-xc35.google.com (mail-yw1-xc35.google.com [IPv6:2607:f8b0:4864:20::c35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 68DB73A0BE7; Tue, 25 Feb 2020 20:01:56 -0800 (PST)
Received: by mail-yw1-xc35.google.com with SMTP id i190so1926086ywc.2; Tue, 25 Feb 2020 20:01:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=D/Ikkk12yLRY6p/vQL57EdGuP+4E/gWqELTq1oJ7hrM=; b=kxclI+AjgsBkAsEI5TCViVQsFFn3umyQfhfily2qbYHsbCVoXkpXvBct+4wwxp0pur gV5D8IM9LGKGmLRxbx4fuYUXaUUtOumVDaHpjfXVUO7LuTp70kst8h+wol6YQkjdTUW3 3eNeBxewUbHlf7/CM4BGFtkW+ZlzAPFumyZ+CI29TUok9h69MgcYRoqENtEW+LL1YYFo /VmaDu6bkl+HbMX5+Wdh9sHnXwzwK9M2fY47711f6ImjJDR/ds3oEmDMRlCofIT9IsGD uzltssfuBmgaM/41oYt6T8Ml33ArGRtMR4EgKpPFLYSkdFKziqe0e3/EKyhlmAgG1oLf cJXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=D/Ikkk12yLRY6p/vQL57EdGuP+4E/gWqELTq1oJ7hrM=; b=ImmxEm5rpmRshCGe8UIFLH+QLFMsyP3I5FzJfcCBkvNGkyLGYqepK7ppBpVZS7wc++ gqlm7OcAVejWqrGUK/KxSlqTjIn0TR92/xQdw/CJADXz9xQyR7jMMuXzEAUauzTEOzpr JVACJYDruh9TXjVqtk6/Ri8ysinRpOBXelv2vXJNkVkl9RS3XhjYB5BQrCLNre6VV73L mSg2d5fjy9iFIszLslEpuE7jhhop8KFmLkLFHCnYfFBsNsgYQufvN+VjhQPX0yR/ZRVF teEuaKiYzLIUxwNBnwgws5ssYskbY3m2NfXsm0g6SPjdIjpyZmfCTT3DtHY/Wroyfprj BxfA==
X-Gm-Message-State: APjAAAWnpPerMT6gzmWeq0PhNuCawLOjD63pRUIA7M5SiHhbEhR19rVo 7oUj+5JMSotItYvccPkrHa8=
X-Google-Smtp-Source: APXvYqwvAx/o3AgVFeySq2LT7SSLBNXklC3/zRTnxm48RSSFQ6PSLWvp//zpPqA9dG0e1KvjyhX3Iw==
X-Received: by 2002:a25:c0c4:: with SMTP id c187mr1233507ybf.17.1582689715564; Tue, 25 Feb 2020 20:01:55 -0800 (PST)
Received: from [10.0.0.20] (45-19-110-76.lightspeed.tukrga.sbcglobal.net. [45.19.110.76]) by smtp.gmail.com with ESMTPSA id d188sm382404ywd.24.2020.02.25.20.01.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 25 Feb 2020 20:01:54 -0800 (PST)
From: Suresh Krishnan <suresh.krishnan@gmail.com>
Message-Id: <C5D0D4A7-D9B1-46E6-B0D7-9C10A7DFA31A@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_9CD873C9-3904-43C5-A940-FB35888EA5DF"
Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.40.2.2.4\))
Subject: Re: [Last-Call] Tsvart last call review of draft-ietf-6man-icmp-limits-07
Date: Tue, 25 Feb 2020 23:01:53 -0500
In-Reply-To: <20200225193403.GC56312@kduck.mit.edu>
Cc: tsv-art@ietf.org, draft-ietf-6man-icmp-limits.all@ietf.org, 6man <ipv6@ietf.org>, last-call@ietf.org
To: Bernard Aboba <bernard.aboba@gmail.com>, Benjamin Kaduk <kaduk@MIT.EDU>
References: <158205974177.14048.8752559981047005317@ietfa.amsl.com> <20200225193403.GC56312@kduck.mit.edu>
X-Mailer: Apple Mail (2.3608.40.2.2.4)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/Ii3AuG-iSLnUvgFvuAM8_MEdLHs>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 26 Feb 2020 04:01:58 -0000

Hi Bernard/Ben,
  Thanks for your review. Just responding to one point below.

> On Feb 25, 2020, at 2:34 PM, Benjamin Kaduk <kaduk@MIT.EDU> wrote:
> 
> On Tue, Feb 18, 2020 at 01:02:21PM -0800, Bernard Aboba via Datatracker wrote:
>> Reviewer: Bernard Aboba
>> Review result: Ready with Issues
>> 
>> TSV-ART Review of draft-ietf-6man-icmp-limits
>> Bernard Aboba
>> 
>> Result: Ready with Issues
>> 
>> This document specifies several new ICMPv6 errors that can be sent
>> when a node discards a packet due to it being unable to process the
>> necessary protocol headers because of processing constraints or
>> limits.  Reasons include:
>> 
>>      Code (pertinent to this specification)
>>         1 - Unrecognized Next Header type encountered
>>         TBA - Extension header too big
>>         TBA - Extension header chain too long
>>         TBA - Too many options in extension header
>>         TBA - Option too big
>> 
>> ICMP Reliability
>> 
>> Section 5.2 states: 
>> 
>> "  ICMP is fundamentally an unreliable protocol and in real deployment
>>   it may consistently fail over some paths. As with any other use of
>>   ICMP, it is assumed that the errors defined in this document are only
>>   best effort to be delivered. No protocol should be implemented that
>>   relies on reliable delivery of ICMP messages. If necessary,
>>   alternative or additional mechanisms may used to augment the
>>   processes used to to deduce the reason that packets are being
>>   discarded. Such alternative mechanisms are out of scope of this
>>   specification."
>> 
>> [BA] The last sentence is a bit vague. My assumption is that this is
>> referring to techniques such as are used in Path MTU discovery (e.g.
>> tweaking of packets so as to determine potential reasons why packets
>> are being discarded).  However, a reference might be helpful.
>> 
>> Security Concerns
>> 
>> Pointer field
>> 
>> In Section 3.1, the description of the Pointer field states: 
>> 
>> "      Pointer
>>         Identifies the octet offset within the invoking packet where
>>         the problem occurred.
>> 
>>         The pointer will point beyond the end of the ICMPv6 packet if
>>         the field having a problem is beyond what can fit in the
>>         maximum size of an ICMPv6 error message."
>> 
>> [BA] I worry about attackers using the Pointer field for
>> mischief, such as buffer overflows.  The draft currently
>> does not provide advice to implementers about validating
>> the Pointer field (e.g. checking it against the length of
>> the offending packet). Do we really need a 32-bit Pointer field? 
> 
> Very reminiscent of heartbleed, even with the note that "The pointer will
> point beyond the end of the ICMPv6 packet if the field having a problem is
> beyond what can fit in the maximum size of an ICMPv6 error message."

Hmm. This is exactly how base ICMPv6 (RFC4443 and prior to that RFC2463 and RFC1885) defines and uses the Pointer field. And the intent is specifically to be able to point past the end of the packet since the “offending” packet may not be able to fit into the reporting packet. Is there something specific that you think is being enabled by this draft and needs to be addressed?

Regards
Suresh