Miggo Logo

CVE-2016-3169:
Drupal saving user accounts can sometimes grant the user all roles

8.1

CVSS Score

Basic Information

EPSS Score
-
Published
5/17/2022
Updated
4/23/2024
KEV Status
No
Technology
TechnologyPHP

Technical Details

CVSS Vector
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
drupal/corecomposer>= 6.0, < 6.386.38
drupal/corecomposer>= 7.0, < 7.437.43
drupal/drupalcomposer>= 7.0, < 7.437.43
drupal/drupalcomposer>= 6.0, < 6.386.38

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability description explicitly implicates user_save as the entry point for improper role assignment. The advisory states that when custom/contributed code calls user_save with an explicit category parameter and loads all roles into the array (e.g., via $edit['roles']), it bypasses normal access controls. This matches the behavior of user_save's role handling in vulnerable Drupal versions, where the function would accept the roles array without proper validation when invoked with specific parameters. The function's presence in the User module's user.module file is consistent across Drupal 6.x/7.x architectures.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

T** Us*r mo*ul* in *rup*l *.x ***or* *.** *n* *.x ***or* *.** *llows r*mot* *tt**k*rs to **in privil***s *y l*v*r**in* *ontri*ut** or *ustom *o** t**t **lls t** us*r_s*v* *un*tion wit* *n *xpli*it **t**ory *n* lo**s *ll rol*s into t** *rr*y.

Reasoning

T** vuln*r**ility **s*ription *xpli*itly impli**t*s us*r_s*v* *s t** *ntry point *or improp*r rol* *ssi*nm*nt. T** **visory st*t*s t**t w**n *ustom/*ontri*ut** *o** **lls us*r_s*v* wit* *n *xpli*it **t**ory p*r*m*t*r *n* lo**s *ll rol*s into t** *rr*