CVE Vulnerabilities

CVE-2017-0897

Use of Insufficiently Random Values

Published: Jun 22, 2017 | Modified: Nov 21, 2024
CVSS 3.x
7.5
HIGH
Source:
NVD
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:P/I:N/A:N
RedHat/V2
RedHat/V3
Ubuntu

ExpressionEngine version 2.x < 2.11.8 and version 3.x < 3.5.5 create an object signing token with weak entropy. Successfully guessing the token can lead to remote code execution.

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
Expressionengine Expressionengine 2.0.0-public_beta (including) 2.0.0-public_beta (including)
Expressionengine Expressionengine 2.0.1-public_beta (including) 2.0.1-public_beta (including)
Expressionengine Expressionengine 2.0.2-public_beta (including) 2.0.2-public_beta (including)
Expressionengine Expressionengine 2.1.0 (including) 2.1.0 (including)
Expressionengine Expressionengine 2.1.1 (including) 2.1.1 (including)
Expressionengine Expressionengine 2.1.2 (including) 2.1.2 (including)
Expressionengine Expressionengine 2.1.3 (including) 2.1.3 (including)
Expressionengine Expressionengine 2.1.4 (including) 2.1.4 (including)
Expressionengine Expressionengine 2.1.5 (including) 2.1.5 (including)
Expressionengine Expressionengine 2.2.0 (including) 2.2.0 (including)
Expressionengine Expressionengine 2.2.1 (including) 2.2.1 (including)
Expressionengine Expressionengine 2.2.2 (including) 2.2.2 (including)
Expressionengine Expressionengine 2.3.0 (including) 2.3.0 (including)
Expressionengine Expressionengine 2.3.1 (including) 2.3.1 (including)
Expressionengine Expressionengine 2.4.0 (including) 2.4.0 (including)
Expressionengine Expressionengine 2.5.0 (including) 2.5.0 (including)
Expressionengine Expressionengine 2.5.1 (including) 2.5.1 (including)
Expressionengine Expressionengine 2.5.2 (including) 2.5.2 (including)
Expressionengine Expressionengine 2.5.3 (including) 2.5.3 (including)
Expressionengine Expressionengine 2.5.4 (including) 2.5.4 (including)
Expressionengine Expressionengine 2.5.5 (including) 2.5.5 (including)
Expressionengine Expressionengine 2.6.0 (including) 2.6.0 (including)
Expressionengine Expressionengine 2.6.1 (including) 2.6.1 (including)
Expressionengine Expressionengine 2.7.0 (including) 2.7.0 (including)
Expressionengine Expressionengine 2.7.1 (including) 2.7.1 (including)
Expressionengine Expressionengine 2.7.2 (including) 2.7.2 (including)
Expressionengine Expressionengine 2.7.3 (including) 2.7.3 (including)
Expressionengine Expressionengine 2.8.0 (including) 2.8.0 (including)
Expressionengine Expressionengine 2.8.1 (including) 2.8.1 (including)
Expressionengine Expressionengine 2.9.0 (including) 2.9.0 (including)
Expressionengine Expressionengine 2.9.1 (including) 2.9.1 (including)
Expressionengine Expressionengine 2.9.2 (including) 2.9.2 (including)
Expressionengine Expressionengine 2.9.3 (including) 2.9.3 (including)
Expressionengine Expressionengine 2.10.0 (including) 2.10.0 (including)
Expressionengine Expressionengine 2.10.1 (including) 2.10.1 (including)
Expressionengine Expressionengine 2.10.2 (including) 2.10.2 (including)
Expressionengine Expressionengine 2.10.3 (including) 2.10.3 (including)
Expressionengine Expressionengine 2.11.0 (including) 2.11.0 (including)
Expressionengine Expressionengine 2.11.1 (including) 2.11.1 (including)
Expressionengine Expressionengine 2.11.2 (including) 2.11.2 (including)
Expressionengine Expressionengine 2.11.3 (including) 2.11.3 (including)
Expressionengine Expressionengine 2.11.4 (including) 2.11.4 (including)
Expressionengine Expressionengine 2.11.5 (including) 2.11.5 (including)
Expressionengine Expressionengine 2.11.6 (including) 2.11.6 (including)
Expressionengine Expressionengine 2.11.7 (including) 2.11.7 (including)
Expressionengine Expressionengine 3.0.0 (including) 3.0.0 (including)
Expressionengine Expressionengine 3.0.1 (including) 3.0.1 (including)
Expressionengine Expressionengine 3.0.2 (including) 3.0.2 (including)
Expressionengine Expressionengine 3.0.3 (including) 3.0.3 (including)
Expressionengine Expressionengine 3.0.4 (including) 3.0.4 (including)
Expressionengine Expressionengine 3.0.5 (including) 3.0.5 (including)
Expressionengine Expressionengine 3.0.6 (including) 3.0.6 (including)
Expressionengine Expressionengine 3.1.0 (including) 3.1.0 (including)
Expressionengine Expressionengine 3.1.1 (including) 3.1.1 (including)
Expressionengine Expressionengine 3.1.2 (including) 3.1.2 (including)
Expressionengine Expressionengine 3.1.3 (including) 3.1.3 (including)
Expressionengine Expressionengine 3.1.4 (including) 3.1.4 (including)
Expressionengine Expressionengine 3.2.0 (including) 3.2.0 (including)
Expressionengine Expressionengine 3.2.1 (including) 3.2.1 (including)
Expressionengine Expressionengine 3.3.0 (including) 3.3.0 (including)
Expressionengine Expressionengine 3.3.1 (including) 3.3.1 (including)
Expressionengine Expressionengine 3.3.2 (including) 3.3.2 (including)
Expressionengine Expressionengine 3.3.3 (including) 3.3.3 (including)
Expressionengine Expressionengine 3.3.4 (including) 3.3.4 (including)
Expressionengine Expressionengine 3.4.0 (including) 3.4.0 (including)
Expressionengine Expressionengine 3.4.1 (including) 3.4.1 (including)
Expressionengine Expressionengine 3.4.2 (including) 3.4.2 (including)
Expressionengine Expressionengine 3.4.3 (including) 3.4.3 (including)
Expressionengine Expressionengine 3.4.4 (including) 3.4.4 (including)
Expressionengine Expressionengine 3.4.5 (including) 3.4.5 (including)
Expressionengine Expressionengine 3.4.6 (including) 3.4.6 (including)
Expressionengine Expressionengine 3.4.7 (including) 3.4.7 (including)
Expressionengine Expressionengine 3.5.0 (including) 3.5.0 (including)
Expressionengine Expressionengine 3.5.1 (including) 3.5.1 (including)
Expressionengine Expressionengine 3.5.2 (including) 3.5.2 (including)
Expressionengine Expressionengine 3.5.3 (including) 3.5.3 (including)
Expressionengine Expressionengine 3.5.4 (including) 3.5.4 (including)

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