A Semantic Attack on Google Gemini - Read the Latest Research
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| AWSSDK.Core | nuget | >= 4.0.0, < 4.0.3.3 | 4.0.3.3 |
The vulnerability exists in the AWS SDK for .NET where the RegionEndpoint and AuthenticationRegion properties of the Amazon.Runtime.ClientConfig class were not being properly validated. This allowed for the possibility of a crafted region value being used to construct service endpoint URLs. An attacker with control over the configuration of the SDK could specify a malicious region, causing the application to send sensitive AWS requests to an arbitrary endpoint.
The patch addresses this by introducing a ValidateRegion method that checks if the region string is a valid host label. This validation is now applied in the setters for both RegionEndpoint and AuthenticationRegion, as well as in the getter for RegionEndpoint when it falls back to a default region from the environment. Any function that sets the AWS region via these properties would be an entry point for the vulnerability. During exploitation, a profiler would show calls to Amazon.Runtime.ClientConfig.set_RegionEndpoint or Amazon.Runtime.ClientConfig.set_AuthenticationRegion with a malicious region string.
Amazon.Runtime.ClientConfig.set_RegionEndpointsdk/src/Core/Amazon.Runtime/ClientConfig.cs
Amazon.Runtime.ClientConfig.get_RegionEndpointsdk/src/Core/Amazon.Runtime/ClientConfig.cs
Amazon.Runtime.ClientConfig.set_AuthenticationRegionsdk/src/Core/Amazon.Runtime/ClientConfig.cs