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
CVE ID
GHSA ID
EPSS Score
0.1491%
CWE
Published
7/24/2024
Updated
8/7/2024
KEV Status
No
Technology
Go
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| github.com/argoproj/argo-cd/v2 | go | >= 2.6.0, < 2.9.21 | 2.9.21 |
| github.com/argoproj/argo-cd/v2 | go | >= 2.10.0, < 2.10.16 | 2.10.16 |
| github.com/argoproj/argo-cd/v2 | go | >= 2.11.0, < 2.11.7 | 2.11.7 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stemmed from two key issues:
- The terminalSession.Read method processed messages without re-checking permissions, relying solely on initial connection-time validation
- 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.