CVE-2026-18654 — awscli
CVE-2026-18654 is a CWE-322 vulnerability in awscli. A fix is available for awscli — see the affected versions and patch details below.
Disabled SSH host key verification in Amazon AWS CLI EMR helper commands
Exploitation Status
No confirmed exploitation observed yet
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for CVE-2026-18654.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
Real-World Exposure
awscliReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects PyPI packages — download data is not available via public APIs for these ecosystems.
Description
Summary
The AWS Command Line Interface (AWS CLI) is a unified tool to manage AWS services from the command line. An issue exists where the EMR SSH helper commands (aws emr ssh, aws emr socks, aws emr put, aws emr get) passed StrictHostKeyChecking=no to the underlying SSH client, disabling host key verification.
Impact
A network-positioned actor could perform a man-in-the-middle action to intercept SSH sessions and file transfers between the client and EMR cluster instances. Successful exploitation requires the actor to have network access on the path between the client machine and the EMR cluster endpoint. This could result in full visibility of commands executed, files transferred, and credentials passed over the SSH session.
Impacted versions: AWS CLI v1 <= 1.45.27, AWS CLI v2 <= 2.35.2
Patches
This issue has been addressed in AWS CLI v1 version 1.45.28 and AWS CLI v2 version 2.35.3. We recommend upgrading to the latest version and ensuring any forked or derivative code is patched to incorporate the new fixes.
Workarounds
There is no workaround. The insecure SSH option was hardcoded and could not be overridden by the user.
References
If you have any questions or comments about this advisory, we ask that you contact AWS Security via our vulnerability reporting page or directly via email to [email protected]. Please do not create a public GitHub issue.
Acknowledgement
We would like to thank Ali Sunbul for collaborating on this issue through the coordinated vulnerability disclosure process.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐍PyPI | awscli | all versions | 1.45.28pip install --upgrade 'awscli==1.45.28' |
Affected Products
aws command line interfaceamazonDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for awscli, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update awscli to 1.45.28 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-18654 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
Fixing This On Your OS
If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.
The AWS CLI disables SSH host key verification (StrictHostKeyChecking=no) when running the `aws emr ssh`, `aws emr socks`, `aws emr put`, and `aws emr get` subcommands against an Amazon EMR cluster. An attacker holding a machine-in-the-middle position on the network path between the client and the EMR node can…
Users who do not run the `aws emr ssh`, `aws emr socks`, `aws emr put`, or `aws emr get` subcommands are not exposed. Where these subcommands are required, verify the EMR node's SSH host key out-of-band before connecting, or restrict their use to trusted networks where a machine-in-the-middle attacker cannot intercept traffic. Upgrading to awscli 1.45.28 or later (v1 line) or awscli2 2.35.3 or later (v2 line) removes the vulnerable behavior.Source: Red Hat security advisory for CVE-2026-18654 (CC BY 4.0)
Frequently Asked Questions
Is CVE-2026-18654 in your dependencies?
Find it across PyPI, including transitive dependencies.