Public Vulnerability Reports

Multiple Telnet Client env_opt_add() Buffer Overflow Vulnerability



The TELNET protocol allows virtual network terminals to be connected to
over the internet. The initial description of the telnet protocol was
given in RFC854 in May 1983. Since then there have been many extra
features added including encryption.


Remote exploitation of a buffer overflow vulnerability in multiple
telnet clients could allow the execution of arbitrary code.

The vulnerability specifically exists in the env_opt_add() function of
telnet.c. A buffer of a fixed size (256 bytes) is allocated to store the
result of the processing this function performs on network input. If
this buffer is not large enough to contain the string, the buffer is
expanded by a further 256 bytes. This size is sufficient for most well
formed input, as the buffer passed as input to the affected function is
limited to the same size. However, due to the way the telnet protocol
escapes certain characters, it is possible to increase the length of the
output by including a large run of characters which need escaping. This
can allow the 256 byte input buffer to expand to a maximum of 512 bytes
in the allocated storage buffer. If, after expanding the buffer by 256
bytes, the buffer is still not large enough to contain the input, a heap
based buffer overflow occurs, which is exploitable on at least some
affected platforms.


Successful exploitation of this vulnerability could allow an attacker to
execute arbitrary commands in the context of the user who launched the
telnet client.

In order to exploit this vulnerability, an attacker would need to
convince the user to connect to their malicious server. It may be
possible to automatically launch the telnet command from a webpage, for

<iframe src='telnet://malicious.server/'>

On opening this page the telnet client may be launched and attempt to
connect to the host 'malicious.server'.


iDEFENSE has confirmed the existance of the vulnerability in the telnet
client included in the Kerberos V5 Release 1.3.6 package and the client
included in the SUNWtnetc package of Solaris 5.9. It is suspected that
most BSD based telnet clients are affected by this vulnerability.


iDEFENSE is currently unaware of any effective workarounds for this


The following vendors have provided official responses related to this
vulnerability. Other vendors may be affected but have not provided an
official response.


- ALT Linux
All supported ALT Linux distributions include telnet client derived from
OpenBSD 3.0. The env_opt_add() buffer overflow vulnerability is present
in all our telnet clients.  Updated packages with fixes for these issues
will be released on March 28, 2005.

- Apple Computer, Inc.
Component:  Telnet
Available for: Mac OS X 10.3.8, Mac OS X Server 10.3.8
This is fixed in Security Update 2005-003, which is available at

- FreeBSD
FreeBSD-SA-05:01.telnet security advisory:

- MIT (Kerberos)
This vulnerability is covered in the following upcoming advisory:
patch against krb5-1.4:

- Openwall Project
The bugs are fixed starting with telnet package version 3.0-owl2.

- Red Hat, Inc.
Red Hat Enterprise Linux ship with telnet and krb5 packages vulnerable
to this issue.  New telnet and krb5 packages are now available along
with our advisory at the URLs below and by using the Red Hat Network
'up2date' tool.
   Red Hat Enterprise Linux - telnet
   Red Hat Enterprise Linux - krb5

- Sun Microsystems Inc.
Sun confirms that the telnet(1) vulnerabilities do affect all
currently supported versions of Solaris:
   Solaris 7, 8, 9 and 10
Sun has released a Sun Alert which describes a workaround until patches
are available at:
   Sun Alert #57755 
The Sun Alert will be updated with the patch information once it becomes
available. Sun patches are available from:

Not Vulnerable:

- CyberSafe Limited
The CyberSafe TrustBroker products, version 3.0 or later, are not

- Hewlett-Packard Development Company, L.P.
HP-UX and HP Tru64 UNIX are not vulnerable.

- InterSoft International, Inc.
InterSoft International, Inc. products NetTerm, SecureNetTerm and
SNetTerm are not affected by the env_opt_add() buffer overflow


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


02/18/2005   Initial vendor notifications
03/28/2005   Coordinated public disclosure


Gaël Delalleau credited with this discovery.

Get paid for vulnerability research

Free tools, research and upcoming events


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 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.