Skip to content
OpenAdvisories

Weakness (CWE)

CWE-329: Generation of Predictable IV with CBC Mode

Variant Draft

The product generates and uses a predictable initialization Vector (IV) with Cipher Block Chaining (CBC) Mode, which causes algorithms to be susceptible to dictionary attacks when they are encrypted under the same key.

More detail

CBC mode eliminates a weakness of Electronic Code
Book (ECB) mode by allowing identical plaintext blocks to
be encrypted to different ciphertext blocks. This is
possible by the XOR-ing of an IV with the initial plaintext
block so that every plaintext block in the chain is XOR'd
with a different value before encryption. If IVs are
reused, then identical plaintexts would be encrypted to
identical ciphertexts. However, even if IVs are not
identical but are predictable, then they still break the
security of CBC mode against Chosen Plaintext Attacks
(CPA).

How to prevent it (1 mitigation)
  1. Implementation

    NIST recommends two methods of generating unpredictable IVs for CBC mode [REF-1172]. The first is to generate the IV randomly. The second method is to encrypt a nonce with the same key and cipher to be used to encrypt the plaintext. In this case the nonce must be unique but can be predictable, since the block cipher will act as a pseudo random permutation.

Source: MITRE CWE-329

2 results · Clear filters · Feed

  • Low 3.4
    CVE-2014-3566 Public exploit EPSS 100%

    The SSL protocol 3.0, as used in OpenSSL through 1.0.1i and other products, uses nondeterministic CBC padding, which ma…

  • Low 3.7
    CVE-2008-5161 Public exploit EPSS 19%

    Error handling in the SSH protocol in (1) SSH Tectia Client and Server and Connector 4.0 through 4.4.11, 5.0 through 5.…