search menu icon-carat-right cmu-wordmark

CERT Coordination Center

Kerberos Telnet protocol does not adequately protect authentication and encryption options

Vulnerability Note VU#774587

Original Release Date: 2002-02-04 | Last Revised: 2002-02-25

Overview

A vulnerability exists in the Telnet Authentication Option and Telnet Data Encryption Option specifications. An ordered list of authentication and encryption options sent from the server to client during negotiation is not cryptographically protected. As a result, an attacker may be able to modify the list and cause less secure authentication and encryption options to be negotiated. An active attacker may be able to disable Telnet data encryption without the client's knowledge.

Description

Simon Josefsson has published a paper describing several active man-in-the-middle attacks against the Kerberos Telnet protocol. Kerberos is a trusted third-party authentication protocol that can be used to secure applications that otherwise transmit authentication information in plain text. Kerberos can further be used to establish encrypted communications channels for applications that normally transmit data in plain text. RFC 1510 defines the Kerberos V protocol.

Telnet (RFC 854) transmits data in plain text, including authentication information. Two RFCs describe options to secure Telnet communications: the Telnet Authentication Option (RFC 2941) and the Telnet Data Encryption Option (RFC 2946). Kerberos can be used to provide these options for Telnet, as specified in RFC 1411 (Kerberos IV) and RFC 2942 (Kerberos V).

While establishing a Kerberos Telnet connection, the client and server exchange information about their authentication and encryption preferences. In simplified terms, the client first requests Kerberos authentication and may request data encryption. The server then replies with an ordered list of supported authentication and encryption options. The integrity of this list is not cryptographically protected, and an attacker may be able to modify the list and cause the client to choose less secure authentication or encryption options. For example, a client that requests Telnet data encryption may be directed by an attacker to negotiate a connection with no encryption. In addition, the attacker can intercept warnings from the server that encryption is not enabled. As Josefsson notes, the Telnet Authentication Option specification suggests that the integrity of the data exchanged in the negotiation process may be protected, however neither the Kerberos IV or Kerberos V Telnet protocols implement such behavior. RFC 2941 describes this vulnerability under the Security Implications heading.

Impact

An attacker with the ability to modify Kerberos Telnet negotiation commands sent from server to client may be able to cause the connection to negotiate less secure authentication and encryption options, including no encryption. The attacker may then be able to read data that the user presumes to be securely encrypted. This is exacerbated by another vulnerability in KTH Kerberos Telnet clients. When a user requests encryption and the server does not appear to support it, KTH Kerberos Telnet clients continue negotiation and establish a connection with no encryption (VU#390280).

Solution

Modify Protocol Specification
The Kerberos Telnet protocol specification could be modified to require cryptographic protection of the negotiation of authentication and encryption options. Such a solution would necessitate changes in current implementations of the protocol.


Enforce Client Encryption Preference

One defense against the attacks described in Josefsson's paper is to strictly enforce the client's preferences and abort the connection if authentication or encryption cannot be negotiated. The following is an excerpt from a man page entry for a BSD-derived telnet command option to enable data encryption:

    -x  Turn on encryption of the data stream.  When this option is turned on,  tel-
        net  will  exit  with  an error if authentication cannot be negotiated or if
        encryption cannot be turned on.

Josefsson references a patch for the KTH Kerberos V (Heimdal) implementation that enforces the client's encryption preference.

Vendor Information

774587
 

KTH Kerberos Development Team Affected

Notified:  December 17, 2001 Updated: December 20, 2001

Status

Affected

Vendor Statement

We have not received a statement from the vendor.

Vendor Information

The vendor has not provided us with any further information regarding this vulnerability.

Addendum

The CERT/CC has no additional comments at this time.

If you have feedback, comments, or additional information about this vulnerability, please send us email.

MIT Kerberos Development Team Not Affected

Notified:  December 18, 2001 Updated: February 10, 2002

Status

Not Affected

Vendor Statement

MIT Kerberos Telnet enforces the client's request to use encryption and aborts the connection if authentication or encryption cannot be negotiated.

Vendor Information

The vendor has not provided us with any further information regarding this vulnerability.

Addendum

The CERT/CC has no additional comments at this time.

If you have feedback, comments, or additional information about this vulnerability, please send us email.


CVSS Metrics

Group Score Vector
Base
Temporal
Environmental

References

Acknowledgements

The CERT Coordination Center thanks Simon Josefsson for information used in this document.

This document was written by Art Manion.

Other Information

CVE IDs: None
Severity Metric: 4.27
Date Public: 2001-09-12
Date First Published: 2002-02-04
Date Last Updated: 2002-02-25 21:49 UTC
Document Revision: 49

Sponsored by CISA.