VYPR
Low severityNVD Advisory· Published Mar 20, 2024· Updated Aug 2, 2024

Umbraco possible user enumeration vulnerability

CVE-2024-28868

Description

Umbraco is an ASP.NET content management system. Umbraco 10 prior to 10.8.4 with access to the native login screen is vulnerable to a possible user enumeration attack. This issue was fixed in version 10.8.5. As a workaround, one may disable the native login screen by exclusively using external logins.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
UmbracoCMSNuGet
>= 10.0.0, < 10.8.510.8.5

Affected products

1

Patches

1
7e1d1a196800

Merge pull request from GHSA-552f-97wf-pmpq

1 file changed · +4 4
  • src/Umbraco.Infrastructure/Security/UmbracoUserManager.cs+4 4 modified
    @@ -134,8 +134,8 @@ public async Task<IdentityResult> ValidatePasswordAsync(string? password)
         /// <inheritdoc />
         public override async Task<bool> CheckPasswordAsync(TUser user, string? password)
         {
    -        // we cannot proceed if the user passed in does not have an identity
    -        if (user.HasIdentity == false)
    +        // we cannot proceed if the user passed in does not have an identity, or if no password is provided.
    +        if (user.HasIdentity == false || password is null)
             {
                 return false;
             }
    @@ -252,7 +252,7 @@ public override async Task<IdentityResult> AccessFailedAsync(TUser user)
         public async Task<bool> ValidateCredentialsAsync(string username, string password)
         {
             TUser user = await FindByNameAsync(username);
    -        
    +
             if (user == null)
             {
                 return false;
    @@ -263,7 +263,7 @@ public async Task<bool> ValidateCredentialsAsync(string username, string passwor
                 throw new NotSupportedException("The current user store does not implement " +
                                                 typeof(IUserPasswordStore<>));
             }
    -        
    +
             var result = await VerifyPasswordAsync(userPasswordStore, user, password);
     
             return result == PasswordVerificationResult.Success || result == PasswordVerificationResult.SuccessRehashNeeded;
    

Vulnerability mechanics

Generated by null/stub 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.