Vulnerability Note VU#25309

Weak CRC allows RC4 encrypted SSH1 packets to be modified without notice

Original Release date: 18 Jan 2001 | Last revised: 05 Mar 2002

Overview

There is an information integrity vulnerability in the SSH1 protocol that allows RC4 encrypted packets to be modified without notice.

Description

Preconditions:

Client has requested RC4 and server supports it.
Compression is disabled.

When using the RC4 stream cipher, SSH1 uses a cyclic redundancy check (CRC) algorithm to perform an integrity check on incoming packets. Because the CRC checksum can be modified, an attacker can intercept an SSH packet, modify its contents, then modify the CRC to match. When the packet is then retransmitted from the attacker to the victim, the CRC integrity check will pass. This means that the attacker can make arbitrary modifications to the packet and the victim will be unable to detect them. This vulnerability results from the fact that CRC is not intended for cryptographic integrity checks. As a result, the CRC algorithm does not contain any security measures to prevent tampering with the checksum.

To exploit this vulnerability, an attacker must:

  • Take a SSH packet of the form P | C, where P is the packet data and C is the CRC checksum for that packet.
  • Create a mask M, which contains the bits in P that you want to toggle.
  • Calculate the CRC for M and call it C'.
  • Use XOR to create the following packet: P XOR M | C XOR C'
  • Send the modified packet to the victim in place of the original packet.

Because the CRC has been modified to account for the "addition" of M, the CRC integrity check on the victim's SSH client will pass.

Impact

Attackers can modify or logically delete arbitrary SSH packets.

Solution

SSH Secure Communications recommends disabling RC4 in SSH1 or upgrading to SSH2.

Systems Affected (Learn More)

VendorStatusDate NotifiedDate Updated
SSH Communications SecurityAffected-06 Feb 2001
OpenSSHNot Affected-29 Oct 2001
If you are a vendor and your product is affected, let us know.

CVSS Metrics (Learn More)

Group Score Vector
Base N/A N/A
Temporal N/A N/A
Environmental N/A N/A

References

Credit

The CERT/CC thanks Antti Huima, Tuomas Aura, and Janne Salmi for their analysis and Tatu Ylonen for bringing this vulnerability to our attention.

This document was written by Jeffrey P. Lanza.

Other Information

  • CVE IDs: Unknown
  • Date Public: 18 Jan 2001
  • Date First Published: 18 Jan 2001
  • Date Last Updated: 05 Mar 2002
  • Severity Metric: 0.39
  • Document Revision: 23

Feedback

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