CVE-2016-3169:
Drupal saving user accounts can sometimes grant the user all roles
8.1
CVSS ScoreBasic Information
CVE ID
GHSA ID
EPSS Score
-
CWE
Published
5/17/2022
Updated
4/23/2024
KEV Status
No
Technology
PHP
Technical Details
CVSS Vector
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
drupal/core | composer | >= 6.0, < 6.38 | 6.38 |
drupal/core | composer | >= 7.0, < 7.43 | 7.43 |
drupal/drupal | composer | >= 7.0, < 7.43 | 7.43 |
drupal/drupal | composer | >= 6.0, < 6.38 | 6.38 |
Vulnerability Intelligence
Miggo AI
Root 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.