Miggo Logo

CVE-2022-39281: Fat Free CRM vulnerable to Remote Denial of Service via Tasks endpoint

6.5

CVSS Score
3.1

Basic Information

EPSS Score
0.84644%
Published
10/7/2022
Updated
1/31/2023
KEV Status
No
Technology
TechnologyRuby

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
fat_free_crmrubygems< 0.20.10.20.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from insufficient input validation in the bucket_empty? class method. The pre-patch code only checked if the bucket was blank and if the view was allowed, but didn't validate whether the bucket parameter was part of the configured task_bucket settings. This allowed attackers to supply arbitrary bucket names that would be passed to ActiveRecord's send() method, potentially triggering unintended method calls or expensive database queries. The patch adds the critical validation check 'Setting.task_bucket.map(&:to_s).include?(bucket.to_s)' to properly restrict bucket values, confirming this was the vulnerable point.

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 p*r*orm * r*mot* **ni*l o* S*rvi** *tt**k ***inst **t *r** *RM. T*is vuln*r**ility **s ***n *ssi*n** t** *V* i**nti*i*r: *V*-****-***** *****t** v*rsions: *ll Not *****t**: Non* *ix** v*rsions: *.**.* *ll us*rs

Reasoning

T** vuln*r**ility st*ms *rom insu**i*i*nt input v*li**tion in t** *u*k*t_*mpty? *l*ss m*t*o*. T** pr*-p*t** *o** only ****k** i* t** *u*k*t w*s *l*nk *n* i* t** vi*w w*s *llow**, *ut *i*n't v*li**t* w**t**r t** *u*k*t p*r*m*t*r w*s p*rt o* t** *on*i*