VYPR
Moderate severityNVD Advisory· Published Oct 30, 2024· Updated Oct 30, 2024

ICG.AspNetCore.Utilities.CloudStorage's Secure Token Durations Different Than Expected

CVE-2024-50353

Description

A bug in ICG.AspNetCore.Utilities.CloudStorage causes generated SAS URLs to always expire in 1 hour regardless of the configured duration.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

A bug in ICG.AspNetCore.Utilities.CloudStorage causes generated SAS URLs to always expire in 1 hour regardless of the configured duration.

Vulnerability

Description

The vulnerability resides in the ICG.AspNetCore.Utilities.CloudStorage library, a set of wrappers for Microsoft Azure Storage APIs. The CreateSASUrl method was intended to accept a tokenDuration parameter to control the SAS URL's expiration, but the implementation incorrectly used a hardcoded value of DateTimeOffset.UtcNow.AddHours(1) instead of the user-supplied duration [4]. As a result, SAS URLs always expired in exactly one hour, ignoring the configured token duration [1].

Exploitation

The mismatch between the requested and actual token duration means that users who expected a shorter-lived SAS URL (e.g., for security) received one that lived longer than intended, potentially widening the window of unauthorized access. Conversely, users who expected a longer duration received a shorter one, which could cause application failures. The attack surface is limited to scenarios where an attacker can intercept or obtain a SAS URL that was intended to have a short lifespan; the bug does not introduce remote code execution or require authentication bypass beyond the SAS URL itself [2][3].

Impact

An attacker who gains access to a SAS URL generated by the vulnerable library could use it for a longer period than the developer anticipated, granting extended access to the underlying Azure Blob Storage resource (e.g., read, write, or delete depending on the SAS permissions). This increases the risk of data exposure or manipulation, though the exact privileges depend on the SAS token's configured permissions [2][3].

Mitigation

The issue has been fixed in version 8.0.0 of the library by replacing the hardcoded AddHours(1) with AddMinutes(tokenDuration) [4]. Users are advised to upgrade to the latest version immediately. No workaround is available for earlier versions. The NVD has not yet provided a CVSS score for this CVE [1].

AI Insight generated on May 20, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
ICG.AspNetCore.Utilities.CloudStorageNuGet
< 8.0.08.0.0

Affected products

2

Patches

1
8ea534481181

Addressed an issue with token duration usage.

1 file changed · +1 1
  • src/AspNetCore.Utilities.CloudStorage/AzureCloudStorageProvider.cs+1 1 modified
    @@ -372,7 +372,7 @@ public string CreateSASUrl(string container, string objectName, int tokenDuratio
                         BlobContainerName = container,
                         BlobName = objectName,
                         Resource = "b",
    -                    ExpiresOn = DateTimeOffset.UtcNow.AddHours(1)
    +                    ExpiresOn = DateTimeOffset.UtcNow.AddMinutes(tokenDuration)
                     };
                     tokenBuilder.SetPermissions(BlobSasPermissions.Read);
                     return blobClient.GenerateSasUri(tokenBuilder).ToString();
    

Vulnerability mechanics

Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

4

News mentions

0

No linked articles in our index yet.