CVE Vulnerabilities

CVE-2020-5408

Use of Insufficiently Random Values

Published: May 14, 2020 | Modified: Jun 14, 2021
CVSS 3.x
6.5
MEDIUM
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
CVSS 2.x
4 MEDIUM
AV:N/AC:L/Au:S/C:P/I:N/A:N
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM

Spring Security versions 5.3.x prior to 5.3.2, 5.2.x prior to 5.2.4, 5.1.x prior to 5.1.10, 5.0.x prior to 5.0.16 and 4.2.x prior to 4.2.16 use a fixed null initialization vector with CBC Mode in the implementation of the queryable text encryptor. A malicious user with access to the data that has been encrypted using such an encryptor may be able to derive the unencrypted values using a dictionary attack.

Weakness

The product uses insufficiently random numbers or values in a security context that depends on unpredictable numbers.

Affected Software

Name Vendor Start Version End Version
Spring_security Pivotal_software 5.2.0 (including) 5.2.4 (excluding)
Spring_security Pivotal_software 5.3.0 (including) 5.3.2 (excluding)
Spring_security Vmware 4.2.0 (including) 4.2.16 (excluding)
Spring_security Vmware 5.0.0 (including) 5.0.16 (excluding)
Spring_security Vmware 5.1.0 (including) 5.1.10 (excluding)
Libspring-security-2.0-java Ubuntu trusty *

Potential Mitigations

  • Use a well-vetted algorithm that is currently considered to be strong by experts in the field, and select well-tested implementations with adequate length seeds.
  • In general, if a pseudo-random number generator is not advertised as being cryptographically secure, then it is probably a statistical PRNG and should not be used in security-sensitive contexts.
  • Pseudo-random number generators can produce predictable numbers if the generator is known and the seed can be guessed. A 256-bit seed is a good starting point for producing a “random enough” number.

References