Skip to content

Malicious HTML+XHR Artifact Privilege Escalation in Argo Workflows

High severity GitHub Reviewed Published May 4, 2022 in argoproj/argo-workflows • Updated Jan 27, 2023

Package

gomod github.com/argoproj/argo-workflows/v3 (Go)

Affected versions

>= 2.6.0, < 3.2.11
>= 3.3.0, < 3.3.5

Patched versions

3.2.11
3.3.5

Description

Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes.

  • The attacker creates a workflow that produces a HTML artifact that contains a HTML file that contains a script which uses XHR calls to interact with the Argo Server API.
  • The attacker emails the deep-link to the artifact to their victim. The victim opens the link, the script starts running.

As the script has access to the Argo Server API (as the victim), so may do the following (if the victim may):

  • Read information about the victim’s workflows.
  • Create or delete workflows.

Notes:

  • The attacker must be an insider: they must have access to the same cluster as the victim and must already be able to run their own workflows.
  • The attacker must have an understanding of the victim’s system. They won’t be able to repeatedly probe due to the social engineering aspect.
  • The attacker is likely leave an audit trail.

We have seen no evidence of this in the wild. While the impact is high, it is very hard to exploit.

We urge all users to upgrade to the fixed versions. Disabling the Argo Server is the only known workaround. Note version 2.12 has been out of support for sometime. No fix is currently planned.

References

@alexec alexec published to argoproj/argo-workflows May 4, 2022
Published by the National Vulnerability Database May 6, 2022
Published to the GitHub Advisory Database May 23, 2022
Reviewed May 23, 2022
Last updated Jan 27, 2023

Severity

High

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
High
Privileges required
Low
User interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H

EPSS score

0.240%
(62nd percentile)

Weaknesses

CVE ID

CVE-2022-29164

GHSA ID

GHSA-cmv8-6362-r5w9

Source code

github.com/argoproj/argo-workflows

Credits

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.