Miggo Logo

CVE-2016-3697:
Privilege Elevation in runc

7.8

CVSS Score
3.1

Basic Information

EPSS Score
0.28301%
Published
12/20/2021
Updated
8/29/2023
KEV Status
No
Technology
TechnologyGo

Technical Details

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
github.com/opencontainers/runcgo< 0.1.00.1.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from how GetExecUser in libcontainer/user/user.go processed user specifications. The pre-patch implementation attempted to match user arguments against both usernames and stringified UIDs, allowing numeric usernames to be interpreted as UID values. The GitHub patch shows this function was modified to: 1) pre-convert user arguments to numeric IDs, 2) eliminate username comparisons for numeric inputs, and 3) strictly treat numeric arguments as UIDs. The CVE description and commit message explicitly reference this function's flawed logic as the vulnerability source.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

li**ont*in*r/us*r/us*r.*o in run* ***or* *.*.*, *s us** in *o*k*r ***or* *.**.*, improp*rly tr**ts * num*ri* UI* *s * pot*nti*l us*rn*m*, w*i** *llows lo**l us*rs to **in privil***s vi* * num*ri* us*rn*m* in t** p*sswor* *il* in * *ont*in*r.

Reasoning

T** vuln*r**ility st*mm** *rom *ow `**t*x**Us*r` in `li**ont*in*r/us*r/us*r.*o` pro**ss** us*r sp**i*i**tions. T** pr*-p*t** impl*m*nt*tion *tt*mpt** to m*t** us*r *r*um*nts ***inst *ot* us*rn*m*s *n* strin*i*i** UI*s, *llowin* num*ri* us*rn*m*s to *