Miggo Logo

CVE-2024-41942: JupyterHub has a privilege escalation vulnerability with the `admin:users` scope

7.2

CVSS Score
3.1

Basic Information

EPSS Score
0.46315%
Published
8/8/2024
Updated
1/21/2025
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
jupyterhubpip< 4.1.64.1.6
jupyterhubpip>= 5.0.0, < 5.1.05.1.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from missing authorization checks in user management endpoints. The commit diff shows added admin checks in users.py's post() and patch() methods. These functions previously allowed users with admin:users scope to set admin=True without being admins themselves. The tests in test_api.py validate these scenarios but are not themselves vulnerable. The core issue was in the API handlers' failure to verify admin status before processing privilege changes.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Summ*ry I* * us*r is *r*nt** t** `**min:us*rs` s*op*, t**y m*y *s**l*t* t**ir own privil***s *y m*kin* t**ms*lv*s * *ull **min us*r. ### **t*ils T** `**min:us*rs` s*op* *llows * us*r to **it us*r r**or*s: > **min:us*rs > > R***, writ*, *r**t*

Reasoning

T** vuln*r**ility st*ms *rom missin* *ut*oriz*tion ****ks in us*r m*n***m*nt *n*points. T** *ommit *i** s*ows ***** **min ****ks in `us*rs.py`'s `post()` *n* `p*t**()` m*t*o*s. T**s* *un*tions pr*viously *llow** us*rs wit* **min:us*rs s*op* to s*t **
CVE-2024-41942: JupyterHub admin:users PrivEsc | Miggo