Miggo Logo

CVE-2020-15203: Denial of Service in Tensorflow

7.5

CVSS Score
3.1

Basic Information

EPSS Score
0.57511%
Published
9/25/2020
Updated
10/28/2024
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
tensorflowpip< 1.15.41.15.4
tensorflowpip>= 2.0.0, < 2.0.32.0.3
tensorflowpip>= 2.1.0, < 2.1.22.1.2
tensorflowpip= 2.2.02.2.1
tensorflowpip= 2.3.02.3.1
tensorflow-cpupip< 1.15.41.15.4
tensorflow-cpupip>= 2.0.0, < 2.0.32.0.3
tensorflow-cpupip>= 2.1.0, < 2.1.22.1.2
tensorflow-cpupip= 2.2.02.2.1
tensorflow-cpupip= 2.3.02.3.1
tensorflow-gpupip< 1.15.41.15.4
tensorflow-gpupip>= 2.0.0, < 2.0.32.0.3
tensorflow-gpupip>= 2.1.0, < 2.1.22.1.2
tensorflow-gpupip= 2.2.02.2.1
tensorflow-gpupip= 2.3.02.3.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from how the format string for printf is constructed in as_string_op.cc. The original code (lines 68-74) used user-controlled 'fill' parameter directly in strings::Appendf(&format_, "%s%d", fill_string.c_str(), width), allowing format string injection. The patch adds validation for allowed flag characters (space, +, -, 0, #) and rejects others. The pre-patch version's lack of validation for printf format flags in the 'fill' parameter is the root cause, making the format string construction logic clearly vulnerable.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Imp**t *y *ontrollin* t** `*ill` *r*um*nt o* [`t*.strin*s.*s_strin*`](*ttps://www.t*nsor*low.or*/*pi_*o*s/pyt*on/t*/strin*s/*s_strin*), * m*li*ious *tt**k*r is **l* to tri***r * *orm*t strin* vuln*r**ility *u* to t** w*y t** int*rn*l *orm*t us* i

Reasoning

T** vuln*r**ility st*ms *rom *ow t** *orm*t strin* *or print* is *onstru*t** in *s_strin*_op.**. T** ori*in*l *o** (lin*s **-**) us** us*r-*ontroll** '*ill' p*r*m*t*r *ir**tly in strin*s::*pp*n**(&*orm*t_, "%s%*", *ill_strin*.*_str(), wi*t*), *llowin