Summary
This advisory is related to the CloudFront signing utilities CloudFrontUrlSigner and CloudFrontCookieSigner in the AWS SDK for Java v1, which are used to generate Amazon CloudFront signed URLs and signed cookies. A defense-in-depth enhancement has been identified to improve handling of special characters, such as double quotes and backslashes, in input values. This enhancement has been implemented in the AWS SDK for Java v2. The AWS SDK for Java v1 will not receive this update as it has reached end-of-support.
Impact
The CloudFront signing utilities build policy documents that define access restrictions for signed URLs and cookies. If an application passes unsanitized input containing special characters to these utilities, the resulting policy document may not reflect the application's intended access restrictions. While the SDK was functioning safely within the requirements of the shared responsibility model, additional safeguards have been added in the AWS SDK for Java v2 version 2.41.30 to support secure customer implementations. Applications that already follow AWS security best practices for input validation are not impacted.
Impacted versions:
All AWS SDK for Java v1 versions since 1.10.73
Patches
The AWS SDK for Java v1 reached end-of-support on December 31, 2025, and no further releases will be made. We recommend customers migrate to the CloudFrontUtilities from AWS SDK for Java v2, which includes this enhancement and will continue to receive updates and long-term support.
Workarounds:
No workarounds are needed, but you should ensure that your application is following security best practices:
- Implement proper input validation in your application code before passing values to CloudFront signing utilities
Migrate to the AWS SDK for Java v2
For CloudFront signing utilities migration guidance, see Migration Guide.
Migration Example
// Change your Maven dependency as needed: https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/migration-cloudfront-presigning.html
// AWS SDK for Java v1
String signedUrl = CloudFrontUrlSigner.getSignedURLWithCannedPolicy(resourceUrl, keyPairId, privateKey, expirationDate);
// AWS SDK for Java v2
SignedUrl signedUrl = CloudFrontUtilities.create().getSignedUrlWithCannedPolicy(r -> r
.resourceUrl(resourceUrl)
.privateKey(privateKey)
.keyPairId(keyPairId)
.expirationDate(expirationDate));
References
If you have any questions or comments about this advisory, we ask that you contact [AWS/Amazon] Security via our vulnerability reporting page or directly via email to aws-security@amazon.com. Please do not create a public GitHub issue.
CloudFrontUrlSigner: https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloudfront/CloudFrontUrlSigner.html
CloudFrontCookieSigner: https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloudfront/CloudFrontCookieSigner.html
AWS SDK for Java v1 End-of-Support Announcement: https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-aws-sdk-for-java-v1-x-on-december-31-2025/)
AWS SDK for Java v2 Migration Guide: https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/migration.html
CloudFront Presigning Migration Guide: https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/migration-cloudfront-presigning.html
Summary
This advisory is related to the CloudFront signing utilities CloudFrontUrlSigner and CloudFrontCookieSigner in the AWS SDK for Java v1, which are used to generate Amazon CloudFront signed URLs and signed cookies. A defense-in-depth enhancement has been identified to improve handling of special characters, such as double quotes and backslashes, in input values. This enhancement has been implemented in the AWS SDK for Java v2. The AWS SDK for Java v1 will not receive this update as it has reached end-of-support.
Impact
The CloudFront signing utilities build policy documents that define access restrictions for signed URLs and cookies. If an application passes unsanitized input containing special characters to these utilities, the resulting policy document may not reflect the application's intended access restrictions. While the SDK was functioning safely within the requirements of the shared responsibility model, additional safeguards have been added in the AWS SDK for Java v2 version 2.41.30 to support secure customer implementations. Applications that already follow AWS security best practices for input validation are not impacted.
Impacted versions:
All AWS SDK for Java v1 versions since 1.10.73
Patches
The AWS SDK for Java v1 reached end-of-support on December 31, 2025, and no further releases will be made. We recommend customers migrate to the CloudFrontUtilities from AWS SDK for Java v2, which includes this enhancement and will continue to receive updates and long-term support.
Workarounds:
No workarounds are needed, but you should ensure that your application is following security best practices:
Migrate to the AWS SDK for Java v2
For CloudFront signing utilities migration guidance, see Migration Guide.
Migration Example
References
If you have any questions or comments about this advisory, we ask that you contact [AWS/Amazon] Security via our vulnerability reporting page or directly via email to aws-security@amazon.com. Please do not create a public GitHub issue.
CloudFrontUrlSigner: https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloudfront/CloudFrontUrlSigner.html
CloudFrontCookieSigner: https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cloudfront/CloudFrontCookieSigner.html
AWS SDK for Java v1 End-of-Support Announcement: https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-aws-sdk-for-java-v1-x-on-december-31-2025/)
AWS SDK for Java v2 Migration Guide: https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/migration.html
CloudFront Presigning Migration Guide: https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/migration-cloudfront-presigning.html