Miggo Logo

CVE-2020-10729: Insufficiently random values in Ansible

5

CVSS Score
3.1

Basic Information

EPSS Score
0.17447%
Published
6/15/2021
Updated
9/10/2024
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
ansiblepip< 2.9.62.9.6

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from improper caching logic in the template engine. The commit diff shows the caching condition was modified from 'if cache:' to 'if cache and only_one:'. The original code allowed caching of multi-variable/dynamic expressions (like password lookups), while the 'only_one' check ensures caching only happens for single static variables. The template() function in init.py was the point where this flawed caching occurred.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

* *l*w w*s *oun* in t** us* o* insu**i*i*ntly r*n*om v*lu*s in *nsi*l*. Two r*n*om p*sswor* lookups o* t** s*m* l*n*t* **n*r*t* t** *qu*l v*lu* *s t** t*mpl*t* ****in* **tion *or t** s*m* *il* sin** no r*-*v*lu*tion **pp*ns. T** *i***st t*r**t *rom t

Reasoning

T** vuln*r**ility st*mm** *rom improp*r ****in* lo*i* in t** t*mpl*t* *n*in*. T** *ommit *i** s*ows t** ****in* *on*ition w*s mo*i*i** *rom 'i* *****:' to 'i* ***** *n* only_on*:'. T** ori*in*l *o** *llow** ****in* o* multi-v*ri**l*/*yn*mi* *xpr*ssio