Vulnerability Note VU#303094

OpenPGP vulnerable to chosen-ciphertext attacks in cipher feedback (CFB) mode

Original Release date: 11 Feb 2005 | Last revised: 23 May 2005

Overview

A vulnerability in OpenPGP may allow attackers to recover partial plaintexts from OpenPGP messages that use symmetric encryption.

Description

A vulnerability in OpenPGP can be used by attackers to recover partial plaintexts from messages employing symmetric encryption. Researchers Serge Mister and Robert Zuccherato of Entrust have developed a chosen-ciphertext attack method that can be used against OpenPGP messages encrypted using cipher feedback (CFB) mode. The attack takes advantage of an integrity check feature that is intended to save time by aborting futile and possibly lengthy decryption attempts.

Preconditions

The attack described by Mister and Zuccherato has two significant preconditions. First, it requires an oracle that reveals whether or not the integrity check was successful. This condition can be satisfied directly (when an integrity check failure message is available) or indirectly (by observing timing differences between failed and successful integrity checks). Second, it requires knowledge of the first two bytes of any one message block; this condition can be satisfied by the OpenPGP message format, which defines several packet headers with well-known values that will appear in the first two bytes of the encrypted message.

Limitations

There are two important limitations that reduce the severity of this attack. One, Mister and Zuccherato have determined that it requires a one-time setup cost of 215 oracle queries and an additional cost of 215 oracle queries per block. This reduces the viability of the attack against a human user because very few people are willing to attempt to decrypt the same message over 32,000 times. However, this attack is feasible against server-based implementations of OpenPGP, where it might be possible to make repeated decryption attempts against an automated system without being detected.

Two, the attack only recovers the first two bytes of each encrypted block. Assuming a block size of 64 bits, an attacker can recover only 25% of the plaintext from an intercepted message.

For detailed information on this attack method, please read "An Attack on CFB Mode Encryption As Used By OpenPGP," written by Serge Mister and Robert Zuccherato.

Impact

Attackers may be able to recover partial plaintexts from OpenPGP messages that use symmetric encryption.

Solution

Apply a patch from your vendor

Several vendors that implement OpenPGP have elected to reduce the exposure of this vulnerability by disabling the integrity check feature in public-key encryption modes. This is intended as a precautionary measure until the vulnerability can be fully addressed by modifying the OpenPGP standard (RFC 2440). For a discussion of this issue and the response of the OpenPGP Working Group, please read "OpenPGP flaw prompts quick fix".

The vendor section of this document contains a list of vendors that we have contacted regarding this issue and will be updated with vendor responses as they are provided.

Systems Affected (Learn More)

VendorStatusDate NotifiedDate Updated
OpenPGPAffected10 Feb 200511 Feb 2005
GNU Privacy GuardUnknown11 Feb 200511 Feb 2005
Hush CommunicationsUnknown-11 Feb 2005
PGPUnknown11 Feb 200511 Feb 2005
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

This vulnerability was discovered by Serge Mister and Robert Zuccherato of Entrust.

This document was written by Jeffrey P. Lanza and Will Dormann.

Other Information

  • CVE IDs: CAN-2005-0366
  • Date Public: 10 Feb 2005
  • Date First Published: 11 Feb 2005
  • Date Last Updated: 23 May 2005
  • Severity Metric: 3.07
  • Document Revision: 24

Feedback

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