CVE-2016-1902 json
Symfony Cryptographic Vulnerability
published 2016-06-01 10 y ago modified 2026-06-17 4 mo ago also GHSA-jjx5-fq5g-8xpc , EUVD-2022-4395
- cvss
- 7.5
- version 3.0, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.9%
- EPSS 1.9% chance of exploitation in 30 days, percentile 79%
- public exploits
- 0
- none known
Summary
The nextBytes function in the SecureRandom class in Symfony before 2.3.37, 2.6.x before 2.6.13, and 2.7.x before 2.7.9 does not properly generate random numbers when used with PHP 5.x without the paragonie/random_compat library and the openssl_random_pseudo_bytes function fails, which makes it easier for attackers to defeat cryptographic protection mechanisms via unspecified vectors.
Patch / fix
- packagist symfony/security-core 2.6.13, 2.7.9
- packagist symfony/security 2.3.37, 2.6.13, 2.7.9
- packagist symfony/symfony 2.3.37, 2.6.13, 2.7.9
- symfony Debian 14, Debian 13, Debian 12 2.7.9+dfsg-1
debian advisories DEBIAN-CVE-2016-1902
- github.com/symfony/symfony#17359 pull request
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2016-1902 updated cvss 4.3
php-symfony: SecureRandom's fallback not secure when OpenSSL fails
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
1.91% chance of exploitation in the next 30 days, higher than 79% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.0 | 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:P/I:N/A:N |
| GitHub | 3.0 | 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| packagist | symfony/security-core | >=2.4.0, <2.6.13 >=2.7.0, <2.7.9 |
2.6.13 2.7.9 |
| packagist | symfony/security | >=2.3.0, <2.3.37 >=2.4.0, <2.6.13 >=2.7.0, <2.7.9 |
2.3.37 2.6.13 2.7.9 |
| packagist | symfony/symfony | >=2.3.0, <2.3.37 >=2.4.0, <2.6.13 >=2.7.0, <2.7.9 |
2.3.37 2.6.13 2.7.9 |
Classification
References
-
github.com
/symfony/symfony/pull/17359
web, patch
-
debian.org
/security/2016/dsa-3588
vendor-advisory, web
-
symfony.com
/blog/cve-2016-1902-securerandom-s-fallback-not-secure-when-openssl-fails
web, vendor-advisory
- landaire.net /blog/cve-2016-1902-symfony-securerandom/
-
nvd.nist.gov
/vuln/detail/CVE-2016-1902
advisory
-
github.com
/FriendsOfPHP/security-advisories/blob/master/symfony/security-core/CVE-2016-1902.yaml
web
-
github.com
/FriendsOfPHP/security-advisories/blob/master/symfony/security/CVE-2016-1902.yaml
web
-
github.com
/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2016-1902.yaml
web
-
symfony.com
/cve-2016-1902
web
-
landaire.net
/blog/cve-2016-1902-symfony-securerandom
web
Sources
- CVE List CVE-2016-1902
- GitHub Advisory GHSA-jjx5-fq5g-8xpc
- NVD CVE-2016-1902
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.