Miggo Logo

CVE-2017-14683: Gem in a Box vulnerable to Cross-site Request Forgery

8.8

CVSS Score
3.1

Basic Information

EPSS Score
0.32079%
Published
5/13/2022
Updated
3/14/2023
KEV Status
No
Technology
TechnologyRuby

Technical Details

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

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from missing CSRF protection middleware rather than specific vulnerable functions. The patch added Rack::Protection and session management (Rack::Session::Pool) at the application level in lib/geminabox/server.rb. The vulnerability existed because the application didn't implement CSRF tokens or protection mechanisms for state-changing operations like gem uploads. While the gem upload handler (likely in the Server class) was the attack vector, the root cause was the absence of CSRF protection across all routes, not a flaw in specific function implementations. The fix addressed this through middleware configuration rather than modifying individual functions.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

**min**ox (*k* **m in * *ox) ***or* *.**.* **s *SR*, *s **monstr*t** *y *n unint*n*** **m uplo**.

Reasoning

T** vuln*r**ility st*ms *rom missin* *SR* prot**tion mi**l*w*r* r*t**r t**n sp**i*i* vuln*r**l* *un*tions. T** p*t** ***** `R**k::Prot**tion` *n* s*ssion m*n***m*nt (`R**k::S*ssion::Pool`) *t t** *ppli**tion l*v*l in `li*/**min**ox/s*rv*r.r*`. T** vu