[Tsv-art] Tsvart last call review of draft-ietf-6man-icmp-limits-07
Bernard Aboba via Datatracker <noreply@ietf.org> Tue, 18 February 2020 21:02 UTC
Return-Path: <noreply@ietf.org>
X-Original-To: tsv-art@ietf.org
Delivered-To: tsv-art@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id E7564120823; Tue, 18 Feb 2020 13:02:21 -0800 (PST)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Bernard Aboba via Datatracker <noreply@ietf.org>
To: tsv-art@ietf.org
Cc: last-call@ietf.org, ipv6@ietf.org, draft-ietf-6man-icmp-limits.all@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 6.117.0
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: Bernard Aboba <bernard.aboba@gmail.com>
Message-ID: <158205974177.14048.8752559981047005317@ietfa.amsl.com>
Date: Tue, 18 Feb 2020 13:02:21 -0800
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsv-art/WXAYUXE72oGfpTtzTwwqYno16KA>
Subject: [Tsv-art] Tsvart last call review of draft-ietf-6man-icmp-limits-07
X-BeenThere: tsv-art@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Transport Area Review Team <tsv-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsv-art>, <mailto:tsv-art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsv-art/>
List-Post: <mailto:tsv-art@ietf.org>
List-Help: <mailto:tsv-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsv-art>, <mailto:tsv-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Feb 2020 21:02:22 -0000
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?
Use by attackers
Section 4.2 states:
" A host MAY modify its usage of protocol headers in subsequent packets
to avoid repeated occurrences of the same error."
[BA] While this response is optional, I do worry about the potential for
spoofed ICMP packets to modify the host's security posture. Are there any
types of usage modifications that a host should be particularly wary
of?
Section 6 states:
" In some circumstances, the sending of ICMP errors might conceptually
be exploited for denial of service attack or as a means to covertly
deduce processing capabilities of nodes. As such, an implementation
SHOULD allow configurable policy to withhold sending of the ICMP
errors described in this specification in environments where security
of ICMP errors is a concern."
[BA] This concern seems quite realistic to me, and as a result, it would
not surprise me if implementations either do not send these ICMP errors,
or withhold them by default. Do you have a position on that?
- [Tsv-art] Tsvart last call review of draft-ietf-6… Bernard Aboba via Datatracker
- Re: [Tsv-art] [Last-Call] Tsvart last call review… Benjamin Kaduk
- Re: [Tsv-art] [Last-Call] Tsvart last call review… Suresh Krishnan
- Re: [Tsv-art] [Last-Call] Tsvart last call review… Tom Herbert
- Re: [Tsv-art] [Last-Call] Tsvart last call review… Benjamin Kaduk
- Re: [Tsv-art] Tsvart last call review of draft-ie… Tom Herbert