Internet Engineering Task Force P. Savola
Internet Draft CSC/FUNET
Expiration Date: August 2002
February 2002
Note about Routing Header Processing on IPv6 Hosts
draft-savola-ipv6-rh-hosts-00.txt
Status of this Memo
This document is an Internet-Draft and is subject to all provisions
of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
To view the list Internet-Draft Shadow Directories, see
http://www.ietf.org/shadow.html.
Abstract
[IPV6] specifies routing header processing for nodes. The text is
sufficiently ambiguous where the behaviour of hosts is concerned, and
can be perceived as a security threat. This draft clarifies the
issue by referring to IPv4 Host Requirements document and requiring
hosts must not, by default, forward routing headers outside of the
node.
Savola [Expires August 2002] [Page 1]
Internet Draft draft-savola-ipv6-rh-hosts-00.txt February 2002
1. Issue with Routing Header Processing
[IPV6] specifies routing header processing for nodes. The text is
sufficiently ambiguous, especially the 3rd paragraph on page 13, to
make one believe that routing header forwarding should be enabled on
all nodes (including hosts); a few implementations are known to have
interpreted the specification this way.
For clarification, it should be noted that IPv4 Host Requirements
[HOSTREQ], especially section 3.3.5 should be interpreted to apply
here where appropriate; the interpretation of [IPV6] is that every
node must be able to process routing headers, but not every node
needs to have that processing enabled.
See Appendix A for an example set of IPv6 requirements for routing
header forwarding.
2. Security Considerations
This draft and [RHHASEC] discuss security considerations of
processing packets with a routing header.
[HOSTREQ] permits implementations to perform "local source-routing",
that is, forwarding routing header out on the same interface it was
received from, without restrictions even on hosts. This is a
security threat, as pointed out in [RHHASEC], and it is recommended
that IPv6 implementations will not do that.
Moreover, as [RHHASEC] points out, forwarding routing headers inside
the same node has residual security threats as well: consider a host
with two interfaces that belong to different security zones. These
kind of nodes are often "security gateways", though, and some may see
this as an acceptable risk.
3. Acknowledgements
Francis Dupont for long and colourful discussion on the RFC2460
interpretation, Vlad Yasevich for pointing out an RFC2460 forwarding
definition and Erik Nordmark for refining the rules. The issue was
raised primarily due to Mobile IPv6 concerns.
Savola [Expires August 2002] [Page 2]
Internet Draft draft-savola-ipv6-rh-hosts-00.txt February 2002
4. References
[IPV6] Deering, S., Hinden, R., "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, December 1998.
[HOSTREQ] Braden, R. (Editor) "Requirements for Internet Hosts
-- Communication Layers", RFC1122, October 1989.
[RHHASEC] Savola, P. "Security of IPv6 Routing Header and
Home Address Options", work-in-progress,
draft-savola-ipv6-rh-ha-security-01.txt, November 2001.
Author's Address
Pekka Savola
CSC/FUNET
Espoo, Finland
EMail: psavola@funet.fi
A. An example set of rules for IPv6 RH forwarding for hosts
Here, abbreviation 'RH packet' is used to mean a packet with routing
header which has segments left > 0 and would be processed at the node
(that is, destination address is an address of the node).
A host MUST NOT by default forward RH packets out of the node. This
option MAY be configurable, but MUST default to disabled.
A host MAY restrict forwarding RH packets in the node as well, e.g.
by disabling all routing header processing by default. [Note: the
author believes this should be a SHOULD]
A host MAY provide some mechanisms of allowing acceptable routing
header use, for example, allow RH where the address-to-be-changed and
source address are the same, or allow forwarding out of the same
interface the packet was received from.
A host which forwards source routed packets MUST behave the same way
as a router doing this e.g. in terms of sending ICMP error messages.
Savola [Expires August 2002] [Page 3]