Vulnerability Note VU#222750
TCP/IP implementations do not adequately validate ICMP error messages
Overview
Multiple TCP/IP implementations do not adequately validate ICMP error messages. A remote attacker could cause TCP connections to drop or be degraded using spoofed ICMP error messages.
Description
A number of widely accepted Internet standards describe different aspects of the relationships between the Internet Control Message Protocol (ICMP) and Transmission Control Protocol (TCP). In particular, RFC 1122 explains how TCP should respond to ICMP messages:
4.2.3.9 ICMP Messages
TCP MUST act on an ICMP error message passed up from the IP
layer, directing it to the connection that created the
error. The necessary demultiplexing information can be
found in the IP header contained within the ICMP message.
o Source Quench
TCP MUST react to a Source Quench by slowing
transmission on the connection. The RECOMMENDED
procedure is for a Source Quench to trigger a "slow
start," as if a retransmission timeout had occurred.
o Destination Unreachable -- codes 0, 1, 5
Since these Unreachable messages indicate soft error
conditions, TCP MUST NOT abort the connection, and it
SHOULD make the information available to the
application.
DISCUSSION:
TCP could report the soft error condition directly
to the application layer with an upcall to the
ERROR_REPORT routine, or it could merely note the
message and report it to the application only when
and if the TCP connection times out.
o Destination Unreachable -- codes 2-4
These are hard error conditions, so TCP SHOULD abort
the connection.
o Time Exceeded -- codes 0, 1
This should be handled the same way as Destination
Unreachable codes 0, 1, 5 (see above).
o Parameter Problem
This should be handled the same way as Destination
Unreachable codes 0, 1, 5 (see above).
|
Impact
A remote attacker could cause TCP connections to drop or be degraded using spoofed ICMP error messages. Applications that depend on on long-lived, low latency, or high throughput TCP connections may not function correctly on a degraded TCP connection. In order to spoof an ICMP message, an attacker would need to know or guess the source and destination TCP port and IP address four-tuple. The Border Gateway Protocol (BGP) is of paticular concern since it relies on long-lived TCP connections (VU#415294), uses well-known source and destination ports, provides critical network and Internet routing information, and may require a non-trivial period of time to recover from a sustained attack. |
Solution
Upgrade or apply a patch |
Systems Affected (Learn More)
| Vendor | Status | Date Notified | Date Updated |
|---|---|---|---|
| Alcatel | Affected | 12 Aug 2004 | 08 Sep 2005 |
| Allied Telesyn International | Affected | - | 29 Apr 2005 |
| Cisco Systems, Inc. | Affected | 12 Aug 2004 | 12 Apr 2005 |
| Extreme Networks | Affected | 12 Aug 2004 | 21 Apr 2005 |
| F5 Networks, Inc. | Affected | 12 Aug 2004 | 03 May 2005 |
| Hewlett-Packard Company | Affected | 12 Aug 2004 | 08 Sep 2005 |
| Hitachi | Affected | 12 Aug 2004 | 08 Sep 2005 |
| IBM Corporation | Affected | 12 Aug 2004 | 12 Apr 2005 |
| Juniper Networks, Inc. | Affected | 12 Aug 2004 | 05 May 2005 |
| Microsoft Corporation | Affected | 12 Aug 2004 | 29 Apr 2005 |
| Netfilter | Affected | 12 Aug 2004 | 29 Apr 2005 |
| Network Appliance | Affected | 12 Aug 2004 | 11 Apr 2005 |
| Nortel Networks, Inc. | Affected | 12 Aug 2004 | 08 Sep 2005 |
| OpenBSD | Affected | 12 Aug 2004 | 21 Apr 2005 |
| Red Hat, Inc. | Affected | 12 Aug 2004 | 12 Apr 2005 |
CVSS Metrics (Learn More)
| Group | Score | Vector |
|---|---|---|
| Base | N/A | N/A |
| Temporal | N/A | N/A |
| Environmental | N/A | N/A |
References
- http://www.kb.cert.org/vuls/id/415294
- http://www.gont.com.ar/drafts/icmp-attacks-against-tcp.html
- http://tools.ietf.org/wg/opsec/draft-gont-opsec-icmp-filtering-00.txt
- http://www.ietf.org/rfc/rfc792.txt
- http://www.ietf.org/rfc/rfc1122.txt
- http://www.ietf.org/rfc/rfc1191.txt
- http://www.ietf.org/rfc/rfc1323.txt
- http://www.ietf.org/rfc/rfc2385.txt
- http://www.niscc.gov.uk/niscc/docs/re-20050412-00303.pdf
- http://jvn.jp/niscc/532967/index.html
- http://xforce.iss.net/xforce/xfdb/17170
- http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0790
- http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0791
- http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-1060
- http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-0065
- http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-0066
- http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-0067
- http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-0068
- http://www.securiteam.com/securitynews/5AP0D2A35U.html
- http://www.ietf.org/internet-drafts/draft-ietf-tcpm-tcpsecure-02.txt
- http://www.ietf.org/ietf/03mar/plpmtud.txt
- http://www.psc.edu/~mathis/MTU/
- http://www.cymru.com/Documents/icmp-messages.html
- http://secunia.com/advisories/14904/
- http://securitytracker.com/alerts/2005/Apr/1013686.html
Credit
Information about the security risks of ICMP messages has been known for some time (RFC 1191 was published in 1990). More recent work by Fernando Gont (Universidad Tecnológica Nacional - Facultad Regional Haedo) describes different types of ICMP attacks against TCP and proposes a number of defense techniques. Gont's research is documented in an IETF Internet Draft titled "ICMP attacks against TCP" (revision 3 as of this writing). Jonathan Looney researched and reported a specific ICMP attack that affects TCP connections on Microsoft Windows systems.
This document was written by Art Manion.
Other Information
- CVE IDs: Unknown
- Date Public: 12 Apr 2005
- Date First Published: 13 Apr 2005
- Date Last Updated: 22 Apr 2008
- Severity Metric: 12.48
- Document Revision: 90
Feedback
If you have feedback, comments, or additional information about this vulnerability, please send us email.