Miggo Logo

CVE-2024-41666: The Argo CD web terminal session does not handle the revocation of user permissions properly

4.7

CVSS Score
3.1

Basic Information

EPSS Score
0.1491%
Published
7/24/2024
Updated
8/7/2024
KEV Status
No
Technology
TechnologyGo

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L
Package NameEcosystemVulnerable VersionsFirst Patched Version
github.com/argoproj/argo-cd/v2go>= 2.6.0, < 2.9.212.9.21
github.com/argoproj/argo-cd/v2go>= 2.10.0, < 2.10.162.10.16
github.com/argoproj/argo-cd/v2go>= 2.11.0, < 2.11.72.11.7

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from two key issues:

  1. The terminalSession.Read method processed messages without re-checking permissions, relying solely on initial connection-time validation
  2. The session creation (newTerminalSession) didn't pass required RBAC context and enforcer needed for message-level validation

The patch added:

  • validatePermissions() checks in Read()
  • RBAC context fields in terminalSession struct
  • Enforcer passing through newTerminalSession This confirms these were the missing security controls in vulnerable versions.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

*r*o ** v*.**.* *n* ***or*, *is*ov*rin* t**t *v*n i* t** us*r's ```p, rol*:myrol*, *x**, *r**t*, */*, *llow``` p*rmissions *r* r*vok**, t** us*r **n still s*n* *ny W**so*k*t m*ss***, w*i** *llows t** us*r to vi*w s*nsitiv* in*orm*tion. *v*n t*ou** t*

Reasoning

T** vuln*r**ility st*mm** *rom two k*y issu*s: *. T** t*rmin*lS*ssion.R*** m*t*o* pro**ss** m*ss***s wit*out r*-****kin* p*rmissions, r*lyin* sol*ly on initi*l *onn**tion-tim* v*li**tion *. T** s*ssion *r**tion (n*wT*rmin*lS*ssion) *i*n't p*ss r*quir