CVE-2025-23206: IAM OIDC custom resource allows connection to unauthorized OIDC provider in aws-cdk
Impact Users who use IAM OIDC custom resource provider package will download CA Thumbprints as part of the custom resource workflow, https://github.com/aws/aws-cdk/blob/d16482fc8a4a3e1f62751f481b770c09034df7d2/packages/%40aws-cdk/custom-resource-handlers/lib/aws-iam/oidc-handler/external.ts#L34.
However, the current tls.connect method will always set rejectUnauthorized: false which is a potential security concern. CDK should follow the best practice and set rejectUnauthorized: true. However, this could be a breaking change for existing CDK applications and we should fix this with a feature flag.
Note that this is marked as low severity Security advisory because the issuer url is provided by CDK users who define the CDK application. If they insist on connecting to a unauthorized OIDC provider, CDK should not disallow this. Additionally, the code block is run in a Lambda environment which mitigate the MITM attack.
As a best practice, CDK should still fix this issue under a feature flag to avoid regression.
packages/@aws-cdk/custom-resource-handlers/lib/aws-iam/oidc-handler/external.ts ❯❱ problem-based-packs.insecure-transport.js-node.bypass-tls-verification.bypass-tls-verification Checks for setting the environment variable NODETLSREJECTUNAUTHORIZED to 0, which disables TLS verification. This should only be used for debugging purposes. Setting the option rejectUnauthorized to false bypasses verification against the list of trusted CAs, which also leads to insecure transport.
Patches The patch is in progress. To mitigate, upgrade to CDK v2.177.0 (Expected release date 2025-02-22). Once upgraded, please make sure the feature flag '@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections' is set to true in cdk.context.json or cdk.json. More details on feature flag setting is here.
Workarounds N/A
References https://github.com/aws/aws-cdk/issues/32920
Other sources
The AWS Cloud Development Kit (AWS CDK) is an open-source software development framework to define cloud infrastructure in code and provision it through AWS CloudFormation. Users who use IAM OIDC custom resource provider package will download CA Thumbprints as part of the custom resource workflow. However, the current tls.connect method will always set rejectUnauthorized: false which is a potential security concern. CDK should follow the best practice and set rejectUnauthorized: true. However, this could be a breaking change for existing CDK applications and we should fix this with a feature flag. Note that this is marked as low severity Security advisory because the issuer url is provided by CDK users who define the CDK application. If they insist on connecting to a unauthorized OIDC provider, CDK should not disallow this. Additionally, the code block is run in a Lambda environment which mitigate the MITM attack. The patch is in progress. To mitigate, upgrade to CDK v2.177.0 (Expected release date 2025-02-22). Once upgraded, users should make sure the feature flag '@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections' is set to true in cdk.context.json or cdk.json. There are no known workarounds for this vulnerability.
— NVD
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2025-23206?
CVE-2025-23206 has not been assigned a CVSS score, but it is recommended to assess the potential impact on your systems.
How do I fix CVE-2025-23206?
To mitigate CVE-2025-23206, upgrade to version 2.177.0 or later of the aws-cdk-lib package.
What versions of aws-cdk-lib are affected by CVE-2025-23206?
CVE-2025-23206 affects aws-cdk-lib versions up to and including 2.176.0.
What kind of issues does CVE-2025-23206 involve?
CVE-2025-23206 involves vulnerabilities related to downloading CA Thumbprints as part of the custom resource workflow.
Is there a workaround for CVE-2025-23206?
The best workaround for CVE-2025-23206 is to update your aws-cdk-lib to a version that addresses this vulnerability.