CVE-2026-85012: OS command injection in the Amazon CodeCatalyst blueprints SDK
Improper neutralization of special elements used in an OS command (CWE-78) in the blueprint resynthesis framework in Amazon Web Services codecatalyst-blueprints before 0.3.156 might allow a user with permission to commit to a repository in the project to execute arbitrary commands in the blueprint resynthesis environment via shell metacharacters in the owner field of a [local] merge strategy entry in a crafted .ownership-file.
Version 0.3.156 removes shell interpretation of the owner field, running the command directly rather than through a shell, and rejects values outside an allowlisted command form. This eliminates shell metacharacter command injection. To remediate this issue, users should upgrade to version 0.3.156 or later.
No action is required for use of the Amazon CodeCatalyst service. Resynthesis runs in an isolated per-project environment with scoped credentials, and the service applies server-side validation there that rejects [local] merge strategy commands outside a restricted allowlisted form, including for blueprint versions published before 0.3.156.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Amazon Web Services codecatalyst-blueprintsto a version that resolves this vulnerability.Fixed in 0.3.156
Event History
Frequently Asked Questions
Who is realistically exposed to this issue?
Users of codecatalyst-blueprints versions before 0.3.156 are exposed where an attacker has permission to commit to a repository in the project and can add a crafted .ownership-file. Use of the Amazon CodeCatalyst service does not require action because server-side validation restricts the relevant commands.
What does an attacker need to exploit it?
The attacker needs permission to commit to the project repository. They must craft a .ownership-file containing a [local] merge strategy entry whose owner field includes shell metacharacters.
What should teams do if they use the SDK outside the managed service?
Upgrade codecatalyst-blueprints to version 0.3.156 or later. This version removes shell interpretation of the owner field and rejects values that do not match the allowlisted command form.
How is the managed Amazon CodeCatalyst service protected, including older published blueprints?
Resynthesis runs in an isolated per-project environment with scoped credentials. The service performs server-side validation that rejects [local] merge strategy commands outside a restricted allowlisted form, including for blueprint versions published before 0.3.156.