Public Vulnerability Reports

Multiple Vendor Ethereal AFP Protocol Dissector Format String Vulnerability

08.05.05

BACKGROUND

Ethereal is used by network professionals around the world for
troubleshooting, analysis, software and protocol development, and
education. It runs on all popular computing platforms, including Unix,
Linux, and Windows.

DESCRIPTION

Remote exploitation of an input validation vulnerability in the AFP
protocol dissectors within Ethereal, as included in various vendors
operating system distributions, could allow attackers to crash the
vulnerable process or execute arbitrary code.

The vulnerability specifically exists due to a call to the
proto_item_set_text function with user-supplied data. The
proto_item_set_text function uses format strings, which allows a
malicious user to write to arbitrary memory locations with carefully
crafted AFP packets.

To cause Ethereal to dissect an arbitrary packet with the AFP dissector,
the source or destination port must be set to TCP port 548, and the
destination port must not be a port with an already registered
dissector. As Ethereal does not keep state, a single spoofed TCP data
packet can be used to exploit this vulnerability, regardless of whether
there are any ports listening on either end.

ANALYSIS

Successful exploitation of this vulnerability will result in remote root
access, as Ethereal must have root privileges in order to open a raw
socket. Ethereal is often used by network administrators to debug
network problems; as such, it has been rated as a MEDIUM-severity
vulnerability.

DETECTION

Ethereal versions 0.10.10 and earlier are reportedly vulnerable. The
following vendors include susceptible Ethereal packages within their
respective operating system distributions:

 The Debian Project: Debian GNU/Linux 3.0
 FreeBSD Project: FreeBSD 5.4 and earlier
 Gentoo Foundation Inc.: Gentoo Linux 2004.0, 2004.1, 2004.2, 2004.3 and 2005.0
 Mandriva SA: Mandriva Linux 10.1, 10.1 (x86_64), LE2005 and LE2005 (x86_64)
 Red Hat Inc.: Fedora Core 3, Enterprise Linux AS/ES/WS 2.1, 3 and 4, Desktop v. 3 and 4

WORKAROUND

When using Ethereal, use the following filter to disable port 548, and
therefore, automatic AFP dissection:

 not port 548

VENDOR RESPONSE

The vendor has issued the following advisory to address this issue:

   http://ethereal.com/news/item_20050726_01.html

CVE INFORMATION

The Common Vulnerabilities and Exposures (CVE) project has assigned the
name CAN-2005-2367 to this issue. This is a candidate for inclusion in
the CVE list (http://cve.mitre.org), which standardizes names for
security problems.

DISCLOSURE TIMELINE

06/20/2005   Initial vendor notification
06/20/2005   Initial vendor response
08/05/2005   Public disclosure

CREDIT

vade79, http://fakehalo.us is credited with this discovery.

Get paid for vulnerability research
http://www.idefense.com/poi/teams/vcp.jsp

Free tools, research and upcoming events
http://labs.idefense.com

LEGAL NOTICES

Copyright © 2005 Verisign, Inc.

Permission is granted for the redistribution of this alert
electronically. It may not be edited in any way without the express
written consent of iDEFENSE. If you wish to reprint the whole or any
part of this alert in any other medium other than electronically, please
email customerservice@idefense.com for permission.

Disclaimer: The information in the advisory is believed to be accurate
at the time of publishing based on currently available information. Use
of the information constitutes acceptance for use in an AS IS condition.
There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct, indirect,
or consequential loss or damage arising from use of, or reliance on,
this information.