id: CVE-2020-16846 info: name: SaltStack <=3002 - Shell Injection author: dwisiswant0 severity: critical description: | SaltStack Salt through 3002 allows an unauthenticated user with network access to the Salt API to use shell injections to run code on the Salt-API using the SSH client. reference: - https://saltproject.io/on-november-3-2020-saltstack-publicly-disclosed-three-new-cves/ - https://mp.weixin.qq.com/s/R8qw_lWizGyeJS0jOcYXag - https://github.com/vulhub/vulhub/tree/master/saltstack/CVE-2020-16846 - https://nvd.nist.gov/vuln/detail/CVE-2020-16846 - http://lists.opensuse.org/opensuse-security-announce/2020-11/msg00029.html classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H cvss-score: 9.8 cve-id: CVE-2020-16846 cwe-id: CWE-78 epss-score: 0.97514 cpe: cpe:2.3:a:saltstack:salt:*:*:*:*:*:*:*:* epss-percentile: 0.99971 metadata: max-request: 1 vendor: saltstack product: salt tags: vulhub,cve,cve2020,saltstack,kev variables: priv: "{{to_lower(rand_text_alpha(5))}}" roaster: "{{to_lower(rand_text_alpha(6))}}" http: - method: POST path: - "{{BaseURL}}/run" body: "token=1337&client=ssh&tgt=*&fun=a&roster={{roaster}}&ssh_priv={{priv}}" headers: Content-Type: application/x-www-form-urlencoded # CherryPy will abort w/o define this header matchers-condition: and matchers: - type: dsl dsl: - regex("CherryPy\/([0-9.]+)", header) || regex("CherryPy ([0-9.]+)", body) - type: word part: body words: - "An unexpected error occurred" - type: word part: header words: - "application/json" - type: status status: - 500