{"answers":{"affected":"19 open source packages ship an affected version, including salt. It affects 4 products.","exploited":"Yes. Attackers have exploited CVE-2020-16846 in the wild since at least 3 Nov 2021.","fix":"Upgrade salt to a fixed version for your release line: 2015.8.10, 2015.8.13, 2016.3.4 or 2016.3.6. US federal agencies must fix it by 3 May 2022.","what":"CVE-2020-16846 is a critical command injection vulnerability in Debian Debian Linux, published on 6 Nov 2020. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2020-16846 and fix it if it is affected.\n\nWhat it is: CVE-2020-16846 is a critical command injection vulnerability in Debian Debian Linux, published on 6 Nov 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: Yes. Attackers have exploited CVE-2020-16846 in the wild since at least 3 Nov 2021.\n\nAffected packages and fixed versions:\n- salt (PyPI): affected all versions; fixed in 2015.8.10, 2015.8.13, 2016.3.4, 2016.3.6, 2016.3.8, 2016.11.3, 2016.11.6, 2016.11.10, 2017.7.4, 2017.7.8, 2018.3.5, 2019.2.5, 3000.3\n- salt (PyPI): affected all versions; fixed in 2015.8.13\n- salt (PyPI): affected all versions; fixed in 2015.8.13\n- salt (PyPI): affected from 2016.11.0; fixed in 2016.11.10\n- salt (PyPI): affected from 2016.11.0; fixed in 2016.11.10\n- salt (PyPI): affected from 2016.3.0; fixed in 2016.3.8\n- salt (PyPI): affected from 2016.3.0; fixed in 2016.3.8\n- salt (PyPI): affected from 2017.5.0; fixed in 2017.7.8\n- salt (PyPI): affected from 2017.5.0; fixed in 2017.7.8\n- salt (PyPI): affected from 2018.2.0; fixed in 2018.3.5\n- salt (PyPI): affected from 2018.2.0; fixed in 2018.3.5\n- salt (PyPI): affected from 2019.2.0; fixed in 2019.2.6\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2020-16846/ (Markdown: https://insights.sbomify.com/CVE-2020-16846/index.md)","id":"CVE-2020-16846","markdown":"https://insights.sbomify.com/CVE-2020-16846/index.md","name":"CVE-2020-16846","record":{"aliases":["GHSA-qr38-h96j-2j3w","PYSEC-2020-104","UBUNTU-CVE-2020-16846","USN-7181-1"],"analysis":{"component_type":"server_software","fix_type":"patch","impacts":["code_execution"],"network_reachable":"yes","non_default_config":true,"product_category":"SaltStack Salt","requires_auth":"none","summary":"Attackers can execute arbitrary shell commands via crafted web requests to the Salt API when the SSH client is enabled.","user_interaction":"not_required","vuln_class":"command_injection"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"mitre","cpe":[{"product":"debian_linux","vendor":"debian"},{"product":"fedora","vendor":"fedoraproject"},{"product":"leap","vendor":"opensuse"},{"product":"salt","vendor":"saltstack"}],"cvss":{"score":9.8,"severity":"critical","source":"cisa-adp","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"cwes":[{"id":"CWE-78","name":"Improper Neutralization of Special Elements used in an OS Command"}],"description":"An issue was discovered in SaltStack Salt through 3002. Sending crafted web requests to the Salt API, with the SSH client enabled, can result in shell injection.","ecosystems":["PyPI"],"exploits":{"exploitdb":0,"first_seen":"2020-11-03","github_poc":2,"max_poc_stars":0,"metasploit":1,"nuclei":1,"refs":[{"date":"2020-11-03","kind":"metasploit","ref":"exploit/linux/http/saltstack_salt_api_cmd_exec","stars":null,"title":"SaltStack Salt REST API Arbitrary Command Execution"},{"date":"2021-10-14T10:09:48Z","kind":"github_poc","ref":"https://github.com/zomy22/CVE-2020-16846-Saltstack-Salt-API","stars":0,"title":null},{"date":"2022-12-12T16:29:36Z","kind":"github_poc","ref":"https://github.com/hamza-boudouche/projet-secu","stars":0,"title":"CVE-2020-16846"},{"date":null,"kind":"nuclei","ref":"http/cves/2020/CVE-2020-16846.yaml","stars":null,"title":"SaltStack \u003c=3002 - Shell Injection"}],"tier":"exploited"},"has_fix":true,"headline":"SaltStack Salt Shell Injection","id":"CVE-2020-16846","indexable":true,"kev":{"dateAdded":"2021-11-03","dueDate":"2022-05-03","knownRansomwareCampaignUse":"Unknown","product":"Salt","requiredAction":"Apply updates per vendor instructions.","vendorProject":"SaltStack","vulnerabilityName":"SaltStack Salt Shell Injection Vulnerability"},"kind":"cve","links":{"ecosystem":"PyPI","product":"debian:debian_linux","products":["debian:debian_linux","fedoraproject:fedora","opensuse:leap","saltstack:salt"],"type":"command_injection","year":"2020"},"n_packages":19,"n_references":14,"next":{"headline":"Cross-site scripting in n/a","id":"CVE-2020-16847"},"packages":[{"ecosystem":"PyPI","fixed":["2015.8.10","2015.8.13","2016.3.4","2016.3.6","2016.3.8","2016.11.3","2016.11.6","2016.11.10","2017.7.4","2017.7.8","2018.3.5","2019.2.5","3000.3"],"introduced":["0","2015.8.11","2016.3.0","2016.3.5","2016.3.7","2016.11.0","2016.11.4","2016.11.7","2017.7.0","2017.7.5","2018.3.0rc1","2019.2.0","3000"],"last_affected":[],"package":"salt","purl":"pkg:pypi/salt","source":"PYSEC-2020-104"},{"ecosystem":"PyPI","fixed":["2015.8.13"],"introduced":["0"],"last_affected":[],"package":"salt","purl":null,"source":"GHSA-qr38-h96j-2j3w"},{"ecosystem":"PyPI","fixed":["2015.8.13"],"introduced":["0"],"last_affected":[],"package":"salt","purl":"pkg:pypi/salt","source":"GHSA-qr38-h96j-2j3w"},{"ecosystem":"PyPI","fixed":["2016.11.10"],"introduced":["2016.11.0"],"last_affected":[],"package":"salt","purl":null,"source":"GHSA-qr38-h96j-2j3w"},{"ecosystem":"PyPI","fixed":["2016.11.10"],"introduced":["2016.11.0"],"last_affected":[],"package":"salt","purl":"pkg:pypi/salt","source":"GHSA-qr38-h96j-2j3w"},{"ecosystem":"PyPI","fixed":["2016.3.8"],"introduced":["2016.3.0"],"last_affected":[],"package":"salt","purl":null,"source":"GHSA-qr38-h96j-2j3w"},{"ecosystem":"PyPI","fixed":["2016.3.8"],"introduced":["2016.3.0"],"last_affected":[],"package":"salt","purl":"pkg:pypi/salt","source":"GHSA-qr38-h96j-2j3w"},{"ecosystem":"PyPI","fixed":["2017.7.8"],"introduced":["2017.5.0"],"last_affected":[],"package":"salt","purl":null,"source":"GHSA-qr38-h96j-2j3w"},{"ecosystem":"PyPI","fixed":["2017.7.8"],"introduced":["2017.5.0"],"last_affected":[],"package":"salt","purl":"pkg:pypi/salt","source":"GHSA-qr38-h96j-2j3w"},{"ecosystem":"PyPI","fixed":["2018.3.5"],"introduced":["2018.2.0"],"last_affected":[],"package":"salt","purl":null,"source":"GHSA-qr38-h96j-2j3w"},{"ecosystem":"PyPI","fixed":["2018.3.5"],"introduced":["2018.2.0"],"last_affected":[],"package":"salt","purl":"pkg:pypi/salt","source":"GHSA-qr38-h96j-2j3w"},{"ecosystem":"PyPI","fixed":["2019.2.6"],"introduced":["2019.2.0"],"last_affected":[],"package":"salt","purl":null,"source":"GHSA-qr38-h96j-2j3w"},{"ecosystem":"PyPI","fixed":["2019.2.6"],"introduced":["2019.2.0"],"last_affected":[],"package":"salt","purl":"pkg:pypi/salt","source":"GHSA-qr38-h96j-2j3w"},{"ecosystem":"PyPI","fixed":["3000.4"],"introduced":["3000.0"],"last_affected":[],"package":"salt","purl":null,"source":"GHSA-qr38-h96j-2j3w"},{"ecosystem":"PyPI","fixed":["3000.4"],"introduced":["3000.0"],"last_affected":[],"package":"salt","purl":"pkg:pypi/salt","source":"GHSA-qr38-h96j-2j3w"},{"ecosystem":"PyPI","fixed":["3001.2"],"introduced":["3001"],"last_affected":[],"package":"salt","purl":null,"source":"GHSA-qr38-h96j-2j3w"},{"ecosystem":"PyPI","fixed":["3001.2"],"introduced":["3001"],"last_affected":[],"package":"salt","purl":"pkg:pypi/salt","source":"GHSA-qr38-h96j-2j3w"},{"ecosystem":"PyPI","fixed":["3002.1"],"introduced":["3002"],"last_affected":[],"package":"salt","purl":null,"source":"GHSA-qr38-h96j-2j3w"},{"ecosystem":"PyPI","fixed":["3002.1"],"introduced":["3002"],"last_affected":[],"package":"salt","purl":"pkg:pypi/salt","source":"GHSA-qr38-h96j-2j3w"}],"prev":{"headline":"Withdrawn Advisory: Infinite loop in xz","id":"CVE-2020-16845"},"products":["n/a"],"published":"2020-11-06","related":[{"cvss_score":10,"headline":"ProFTPD Improper Access Control","id":"CVE-2015-3306","kev_date_added":"2026-10-08","published":"2015-05-18"},{"cvss_score":9.9,"headline":"RoundCube Webmail Deserialization of Untrusted Data","id":"CVE-2025-49113","kev_date_added":"2026-02-20","published":"2025-06-02"},{"cvss_score":9.8,"headline":"GNU InetUtils Argument Injection","id":"CVE-2026-24061","kev_date_added":"2026-01-26","published":"2026-01-21"},{"cvss_score":9.8,"headline":"Linux Kernel Improper Check for Unusual or Exceptional Conditions","id":"CVE-2025-39682","kev_date_added":"2026-09-18","published":"2025-09-05"},{"cvss_score":9.8,"headline":"Mozilla Firefox Use-After-Free","id":"CVE-2024-9680","kev_date_added":"2024-10-15","published":"2024-10-09"},{"cvss_score":9.8,"headline":"RARLAB UnRAR Directory Traversal","id":"CVE-2022-30333","kev_date_added":"2022-08-09","published":"2022-05-09"},{"cvss_score":9.8,"headline":"Roundcube Webmail SQL Injection","id":"CVE-2021-44026","kev_date_added":"2023-06-22","published":"2021-11-19"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"PyPA Advisory Database","prefix":"PYSEC"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"open","licence":"CC0 1.0","name":"CISA KEV"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"},{"class":"attribution","licence":"BSD-3-Clause","name":"Metasploit"},{"class":"attribution","licence":"MIT","name":"Nuclei templates"},{"class":"open","licence":"CC0","name":"PoC-in-GitHub"}],"ssvc":{"automatable":"yes","exploitation":"active","technical_impact":"total"},"state":"PUBLISHED","updated":"2025-10-21","vendors":["n/a"]},"summary":"Attackers can execute arbitrary shell commands via crafted web requests to the Salt API when the SSH client is enabled.","url":"https://insights.sbomify.com/CVE-2020-16846/"}