Miggo Logo

CVE-2024-45606: Sentry improperly authorizes muting of alert rules

7.1

CVSS Score
3.1

Basic Information

EPSS Score
0.2844%
Published
9/17/2024
Updated
10/25/2024
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
sentrypip>= 23.4.0, < 24.9.024.9.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from improper authorization checks when fetching alert rules. The pre-patch code in BaseRuleSnoozeEndpoint used self.rule_model.objects.get(id=rule_id) which didn't validate the user's access to the project/organization associated with the rule. The patch added project-scoped queries (fetch_for_project and project filtering) and moved authorization checks to convert_args. The test changes showing 404 responses for unauthorized access confirm the authorization bypass was in rule retrieval. CWE-639 (User-Controlled Key authorization bypass) aligns with this pattern of missing access control on direct object references.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Imp**t *n *ut**nti**t** us*r **n mut* *l*rt rul*s *rom *r*itr*ry or**niz*tions *n* proj**ts *iv*n * known *iv*n rul* I*. T** us*r *o*s not n*** to ** * m*m**r o* t** or**niz*tion or **v* p*rmissions on t** proj**t. In our r*vi*w, w* **v* i**nti

Reasoning

T** vuln*r**ility st*ms *rom improp*r *ut*oriz*tion ****ks w**n **t**in* *l*rt rul*s. T** pr*-p*t** *o** in **s*Rul*Snooz**n*point us** s*l*.rul*_mo**l.o*j**ts.**t(i*=rul*_i*) w*i** *i*n't v*li**t* t** us*r's ****ss to t** proj**t/or**niz*tion *sso*i