Skip to content

GHSA-5r3f-3m3j-wcj2 CVE-2022-22936 PYSEC-2022-173

SaltStack Salt Authentication Bypass by Capture-replay

High PyPI
Severity
8.8 / 10
High · CVSS 3.1
Exploit chance (EPSS)
0.83%
Chance of exploitation in the next 30 days. Higher than 57.50% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-294 Authentication Bypass by Capture-replay
Fix
3002.8
Upgrade salt to this version or later

Description

An issue was discovered in SaltStack Salt in versions before 3002.8, 3003.4, 3004.1. Job publishes and file server replies are susceptible to replay attacks, which can result in an attacker replaying job publishes causing minions to run old jobs. File server replies can also be re-played. A sufficient craft attacker could gain root access on minion under certain scenarios.

Affected versions

PyPI

PackageVulnerableFixed in
salt
< 3002.8
3002.8
salt
>= 3003, < 3003.4
3003.4
salt
>= 3004, < 3004.1
3004.1

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

salt PyPI → 3002.8

pip
pip install --upgrade "salt>=3002.8"
poetry
poetry add "salt>=3002.8"
uv
uv add "salt>=3002.8"

Severity breakdown

CVSS 3.1 8.8

CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Attack vector
Adjacent
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Weakness

CWE-294: Authentication Bypass by Capture-replay

A capture-replay flaw exists when the design of the product makes it possible for a malicious user to sniff network traffic and bypass authentication by replaying it to the server in question to the same effect as the original message (or with minor changes).

How to prevent it
  • Architecture and Design: Utilize some sequence or time stamping functionality along with a checksum which takes this into account in order to ensure that messages can be parsed only once.
  • Architecture and Design: Since any attacker who can listen to traffic can see sequence numbers, it is necessary to sign messages with some kind of cryptography to ensure that sequence numbers are not simply doctored along with content.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
CVE-2020-16846
SaltStack Salt Command Injection in netapi ssh client
Critical Known exploited Also affects salt
CVE-2020-11652
SaltStack Salt is vulnerable Arbitrary Directory Access
High Known exploited Also affects salt
CVE-2020-11651
SaltStack Salt Unauthenticated Remote Code Execution
Critical Known exploited Also affects salt
GHSA-vcf3-26xf-fw4m
Salt Authentication Protocol Version Downgrade Allows Minion Impersonation
Medium Also affects salt
GHSA-77w2-v593-vxvv
Salt junos Module Vulnerable to Code Injection via Specially Crafted YAML Payload
High Also affects salt
GHSA-8pcp-r83j-fc92
Salt vulnerable to directory traversal attack in file receiving method
High Also affects salt
GHSA-989c-m532-p2hv
Salt's worker process vulnerable to denial of service through file read operation
Medium Also affects salt
GHSA-7f3f-x5f5-79gw
Salt's file contents overwrite the VirtKey class
Medium Also affects salt
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor