Miggo Logo

CVE-2016-1902: Symfony Cryptographic Vulnerability

7.5

CVSS Score
3.0

Basic Information

EPSS Score
0.59697%
Published
5/17/2022
Updated
2/8/2024
KEV Status
No
Technology
TechnologyPHP

Technical Details

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
symfony/security-corecomposer>= 2.4.0, < 2.6.132.6.13
symfony/security-corecomposer>= 2.7.0, < 2.7.92.7.9
symfony/securitycomposer>= 2.3.0, < 2.3.372.3.37
symfony/securitycomposer>= 2.4.0, < 2.6.132.6.13
symfony/securitycomposer>= 2.7.0, < 2.7.92.7.9
symfony/symfonycomposer>= 2.3.0, < 2.3.372.3.37
symfony/symfonycomposer>= 2.4.0, < 2.6.132.6.13
symfony/symfonycomposer>= 2.7.0, < 2.7.92.7.9

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from SecureRandom's fallback mechanism when OpenSSL fails. The advisory explicitly mentions the nextBytes function as the problematic entry point. The Symfony blog post confirms the insecure fallback to PHP's weak PRNG functions (uniqid/mt_rand) in PHP 5.x environments without random_compat. The CWE-332 mapping aligns with insufficient entropy in this PRNG implementation. The GitHub PR #17359 and associated commits show removal of custom RNG logic, confirming this was the vulnerable code path.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

T** n*xt*yt*s *un*tion in t** S**ur*R*n*om *l*ss in Sym*ony ***or* *.*.**, *.*.x ***or* *.*.**, *n* *.*.x ***or* *.*.* *o*s not prop*rly **n*r*t* r*n*om num**rs w**n us** wit* P*P *.x wit*out t** p*r**oni*/r*n*om_*omp*t li*r*ry *n* t** op*nssl_r*n*om

Reasoning

T** vuln*r**ility st*ms *rom S**ur*R*n*om's **ll***k m****nism w**n Op*nSSL **ils. T** **visory *xpli*itly m*ntions t** n*xt*yt*s *un*tion *s t** pro*l*m*ti* *ntry point. T** Sym*ony *lo* post *on*irms t** ins**ur* **ll***k to P*P's w**k PRN* *un*tio