{"id":"GHSA-vcrf-j523-4mrf","revision":null,"records":[{"revision":"ce376d59b0d044eabb82efea14d08748","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-13760","aliases":[],"title":"OS Command Injection in aws-cdk-lib Docker Bundling","description":"OS command injection in the NodejsFunction Docker bundling pipeline (OsCommand helper) in AWS aws-cdk-lib on all platforms might allow a actor who controls dependency version strings in a project's package.json file to execute arbitrary commands on the host running the CDK toolchain via injected shell metacharacters in the OsCommand helper. This issue requires the actor to control the content of a package.json dependency version string that is processed during Docker-based bundling with nodeModules specified.\n\n\n\nTo remediate this issue, users should upgrade to\u00A0v2.260.0.","state":0,"publishedAt":"2026-07-01T19:05:18.671+00:00","modifiedAt":"2026-07-01T19:23:39.104+00:00","affected":[{"ecosystem":"Vendor product","name":"AWS CDK","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"AWS\",\n                    \"product\": \"AWS CDK\",\n                    \"versions\": [\n                        {\n                            \"status\": \"affected\",\n                            \"version\": \"0\",\n                            \"lessThan\": \"2.260.0\",\n                            \"versionType\": \"custom\"\n                        }\n                    ],\n                    \"defaultStatus\": \"unaffected\"\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H","score":7.3,"severity":"HIGH"},{"system":"CVSS 4.0","vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","score":7,"severity":"HIGH"}],"references":["https://github.com/aws/aws-cdk/releases/tag/v2.260.0","https://aws.amazon.com/security/security-bulletins/2026-050-aws/","https://github.com/aws/aws-cdk/security/advisories/GHSA-vcrf-j523-4mrf"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-13760","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-13760","identifiers":["CVE-2026-13760"]},"retained":false,"historicalAffected":[]},{"revision":"ec1ad92cfc124e708d6fbd6f85a98ce6","observedAt":"2026-10-27T06:23:27.268+00:00","statement":{"source":"nvd","id":"CVE-2026-13760","aliases":[],"title":"OS command injection in the NodejsFunction Docker bundling pipeline (OsCommand helper) in AWS aws-cdk-lib on all platforms might allow a actor who controls dependency version strings in a project's package.json file to execute arbitrary com…","description":"OS command injection in the NodejsFunction Docker bundling pipeline (OsCommand helper) in AWS aws-cdk-lib on all platforms might allow a actor who controls dependency version strings in a project's package.json file to execute arbitrary commands on the host running the CDK toolchain via injected shell metacharacters in the OsCommand helper. This issue requires the actor to control the content of a package.json dependency version string that is processed during Docker-based bundling with nodeModules specified.\n\n\n\nTo remediate this issue, users should upgrade to\u00A0v2.260.0.","state":0,"publishedAt":"2026-07-01T19:16:36.157+00:00","modifiedAt":"2026-10-25T16:10:00.147+00:00","affected":[],"metrics":[{"system":"CVSS 4.0 · ff89ba41-3aa1-4d27-914a-91399e9639e5 · Secondary","vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","score":7,"severity":"HIGH"},{"system":"CVSS 3.1 · ff89ba41-3aa1-4d27-914a-91399e9639e5 · Secondary","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H","score":7.3,"severity":"HIGH"}],"references":["https://aws.amazon.com/security/security-bulletins/2026-050-aws/","https://github.com/aws/aws-cdk/releases/tag/v2.260.0","https://github.com/aws/aws-cdk/security/advisories/GHSA-vcrf-j523-4mrf"],"sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-13760","license":"NIST NVD usage terms; underlying source attribution retained","enrichment":{"sourceStatus":"Awaiting Analysis","weaknesses":["CWE-78"],"productCriteria":[],"sourceDates":{"published":"2026-07-01T19:16:36.157","lastModified":"2026-10-25T16:10:00.147"},"relatedAdvisories":[],"note":"NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON."},"key":"nvd:CVE-2026-13760","identifiers":["CVE-2026-13760"]},"retained":false,"historicalAffected":[]},{"revision":"93ee30a6947c4342b685704561925ba2","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"GHSA-vcrf-j523-4mrf","aliases":["CVE-2026-13760"],"title":"aws-cdk-lib: OS Command Injection in NodejsFunction Docker Bundling","description":"### Summary\nAWS CDK (aws-cdk-lib) is an open-source framework for defining cloud infrastructure in code and provisioning it through AWS CloudFormation. OS command injection issue in the NodejsFunction Docker bundling pipeline in aws-cdk-lib before 2.260.0 that might allow an actor who controls dependency version strings in a project's package.json file to execute arbitrary commands on the host running the CDK toolchain via injected shell metacharacters in the OsCommand helper. This issue requires the actor to control the content of a package.json dependency version string that is processed during Docker-based bundling with nodeModules specified.\n\n### Impact\nDuring Docker-based Lambda bundling, when the nodeModules option is specified, NodejsFunction assembled a shell command string, including file-operation commands generated by an internal OsCommand helper, from the version strings of the modules listed in nodeModules, and executed it via a shell (bash -c) inside the bundling container. These version strings were interpolated without shell escaping, so values containing shell metacharacters could execute arbitrary commands inside the bundling container - which has read/write bind mounts to the host filesystem - with the privileges of the user running cdk synth, cdk deploy, or cdk diff. Leveraging this issue requires an actor to control a dependency version string for one of the listed modules - for example via an untrusted npm package referenced through nodeModules.\n\n### Impacted versions: \n< 2.260.0\n\n### Patches\nThis issue has been addressed in\u00A0aws-cdk-lib\u00A0version 2.260.0 (PR\u00A0[#38133](https://github.com/aws/aws-cdk/pull/38133)). We recommend upgrading to the latest version and ensuring any forked or derivative code is patched to incorporate the new fixes. \n\n### Workarounds\nEnsure that the modules listed in the nodeModules bundling option - and the version strings declared for them in your project's package.json, as well as the versions of the corresponding installed packages - come only from trusted sources, and audit third-party constructs and dependencies that introduce them. Using local bundling instead of Docker-based bundling avoids the affected code path. Upgrading to a fixed version is the recommended remediation.\n\n### References\nIf you have any questions or comments about this advisory, we ask that you contact AWS Security via our [vulnerability reporting page](https://aws.amazon.com/security/vulnerability-reporting) or directly via email to [aws-security@amazon.com](mailto:aws-security@amazon.com). Please do not create a public GitHub issue.\n\n### Acknowledgement\nWe would like to thank the external researcher Mostafa Ashraf who reported this issue through the AWS Vulnerability Disclosure Program (HackerOne [@kaporia](https://hackerone.com/kaporia)) for collaborating on it through the coordinated vulnerability disclosure process.","state":0,"publishedAt":"2026-07-21T19:04:50+00:00","modifiedAt":"2026-07-21T19:15:32.0459997+00:00","affected":[{"ecosystem":"npm","name":"aws-cdk-lib","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"},{"kind":"fixed","version":"2.260.0"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H","score":null,"severity":null},{"system":"CVSS_V4","vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"HIGH"}],"references":["https://github.com/aws/aws-cdk/security/advisories/GHSA-vcrf-j523-4mrf","https://nvd.nist.gov/vuln/detail/CVE-2026-13760","https://github.com/aws/aws-cdk/pull/38133","https://github.com/aws/aws-cdk/commit/baa9e1dff469306cc23b8f4bd232d703f98bf68a","https://aws.amazon.com/security/security-bulletins/2026-050-aws","https://github.com/aws/aws-cdk","https://github.com/aws/aws-cdk/releases/tag/v2.260.0"],"sourceUrl":"https://github.com/advisories/GHSA-vcrf-j523-4mrf","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-vcrf-j523-4mrf","identifiers":["GHSA-vcrf-j523-4mrf","CVE-2026-13760"]},"retained":false,"historicalAffected":[]}],"coverage":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-10-27T15:46:19.1555709+00:00","complete":true,"records":1758,"lastAttemptAt":"2026-10-27T15:46:19.1555709+00:00","lastSuccessAt":"2026-10-27T15:46:19.3166108+00:00","error":null,"lastVerifiedAt":"2026-10-27T15:46:19.3166123+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-187d2b72c94ceb8c4417f1032ec3109a3a3a7b730abadb561d8cdd2a96e04d27-67d02c0690a311a3477ecb30285e6a67bc5cbcf4b551d4b6cab698393621fd1a","complete":true,"records":415206,"lastAttemptAt":"2026-10-27T15:44:18.8922484+00:00","lastSuccessAt":"2026-10-27T15:44:18.7720642+00:00","error":null,"lastVerifiedAt":"2026-10-27T15:44:18.8922484+00:00","snapshotPublishedAt":"2026-10-27T15:30:39+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-43321610382942b8ad8c85917eab1546","complete":false,"records":4735,"lastAttemptAt":"2026-10-27T15:46:50.7636286+00:00","lastSuccessAt":"2026-10-24T23:18:49.862+00:00","error":"InvalidDataException","lastVerifiedAt":"2026-10-24T23:18:49.862+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":0,"expectedIdentifiers":13489},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-10-27T15:46:19.1555709+00:00","complete":true,"records":1093,"lastAttemptAt":"2026-10-27T15:46:19.1555709+00:00","lastSuccessAt":"2026-10-27T15:46:21.5213865+00:00","error":null,"lastVerifiedAt":"2026-10-27T15:46:21.5213883+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-f81e3b22a8724ee290f14b0a1bb1aaf0","complete":false,"records":13426,"lastAttemptAt":"2026-10-27T15:46:48.5530959+00:00","lastSuccessAt":"2026-10-27T15:46:48.549+00:00","error":null,"lastVerifiedAt":"2026-10-27T15:46:48.549+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13480,"expectedIdentifiers":13489},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-209ac5c5c1876448d270401dd7be9eb8338c977bffb106204e23f2a445f8dc56","complete":true,"records":9782,"lastAttemptAt":"2026-10-27T15:46:15.6695545+00:00","lastSuccessAt":"2026-10-27T15:46:15.4210182+00:00","error":null,"lastVerifiedAt":"2026-10-27T15:46:15.6695545+00:00","snapshotPublishedAt":"2026-10-27T15:33:39+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-bad5d31e7f6a5e3d338e11d8789069b63620a403f927730769688b42f768e4f6","complete":true,"records":1965,"lastAttemptAt":"2026-10-27T15:44:19.0567932+00:00","lastSuccessAt":"2026-10-26T16:35:43.1460623+00:00","error":null,"lastVerifiedAt":"2026-10-27T15:44:19.0567932+00:00","snapshotPublishedAt":"2026-10-26T16:18:29+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-93fe8481574c33257e61d513a6f77ce9dae5c9ed681fabdfa367d09ba130127c","complete":true,"records":2997,"lastAttemptAt":"2026-10-27T15:46:19.1148938+00:00","lastSuccessAt":"2026-10-27T15:46:18.9862774+00:00","error":null,"lastVerifiedAt":"2026-10-27T15:46:19.1148938+00:00","snapshotPublishedAt":"2026-10-27T15:33:39+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-4cbf2f787207c0e5343fed347b333d6fe1c6a8461089bcb67e952c72cb90f6de","complete":true,"records":230822,"lastAttemptAt":"2026-10-27T15:46:07.9055861+00:00","lastSuccessAt":"2026-10-27T15:46:06.6649981+00:00","error":null,"lastVerifiedAt":"2026-10-27T15:46:07.9055861+00:00","snapshotPublishedAt":"2026-10-27T15:18:26+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null}]}