CVE Vulnerabilities

CVE-2018-20025

Use of Insufficiently Random Values

Published: Feb 19, 2019 | Modified: Apr 02, 2019
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

Use of Insufficiently Random Values exists in CODESYS V3 products versions prior V3.5.14.0.

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
Control_for_beaglebone_sl Codesys 3.0 (including) 3.5.14.0 (excluding)
Control_for_empc-a/imx6_sl Codesys 3.0 (including) 3.5.14.0 (excluding)
Control_for_iot2000_sl Codesys 3.0 (including) 3.5.14.0 (excluding)
Control_for_linux_sl Codesys 3.0 (including) 3.5.14.0 (excluding)
Control_for_pfc100_sl Codesys 3.0 (including) 3.5.14.0 (excluding)
Control_for_pfc200_sl Codesys 3.0 (including) 3.5.14.0 (excluding)
Control_for_raspberry_pi_sl Codesys 3.0 (including) 3.5.14.0 (excluding)
Control_rte_sl Codesys 3.0 (including) 3.5.14.0 (excluding)
Control_rte_sl_(for_beckhoff_cx) Codesys 3.0 (including) 3.5.14.0 (excluding)
Control_runtime_toolkit Codesys 3.0 (including) 3.5.14.0 (excluding)
Control_win_sl Codesys 3.0 (including) 3.5.14.0 (excluding)
Development_system Codesys 3.0 (including) 3.5.14.0 (excluding)
Gateway Codesys 3.0 (including) 3.5.14.0 (excluding)
Hmi_sl Codesys 3.0 (including) 3.5.14.0 (excluding)
Safety_sil2 Codesys 3.0 (including) 3.5.14.0 (excluding)

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