Miggo Logo

CVE-2023-40584:
Argo CD repo-server Denial of Service vulnerability

6.5

CVSS Score
3.1

Basic Information

EPSS Score
0.594%
Published
9/11/2023
Updated
11/10/2023
KEV Status
No
Technology
TechnologyGo

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
github.com/argoproj/argo-cd/v2go>= 2.4.0, < 2.6.152.6.15
github.com/argoproj/argo-cd/v2go>= 2.7.0, < 2.7.142.7.14
github.com/argoproj/argo-cd/v2go>= 2.8.0, < 2.8.32.8.3

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from uncontrolled resource consumption during tar.gz extraction. The key commit (b8f92c4) adds size validation to Helm chart extraction in util/helm/client.go's ExtractChart function. The patched version introduces 'untarChart' with size checks using files.Untgz, while the vulnerable version used a simple 'tar -zxvf' without validation. The repository.go's runRepoOperation() function was modified to pass new size limit parameters to ExtractChart, indicating it previously called the vulnerable version without these safeguards. These changes directly address the CWE-400 vulnerability described, making these functions the root cause.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Imp**t *ll v*rsions o* *r*o** st*rtin* *rom v*.* **v* * *u* w**r* t** *r*o** r*po-s*rv*r *ompon*nt is vuln*r**l* to * **ni*l-o*-S*rvi** *tt**k v**tor. Sp**i*i**lly, t** s*i* *ompon*nt *xtr**ts * us*r-*ontroll** t*r.*z *il* wit*out v*li**tin* t**

Reasoning

T** vuln*r**ility st*ms *rom un*ontroll** r*sour** *onsumption *urin* `t*r.*z` *xtr**tion. T** k*y *ommit (*******) ***s siz* `v*li**tion` to `**lm` ***rt *xtr**tion in `util/**lm/*li*nt.*o`'s `*xtr**t***rt` *un*tion. T** p*t**** v*rsion intro*u**s '