Skip to content
Heist/ feed
Back to feed
Medium

User Enumeration via Response Timing

Type: advisorySources: OSV

ImpactThe attacker can validate if a user exists by checking the time login returns. This timing difference can be used to enumerate valid usernames, after which an attacker could attempt brute force attacks. PatchesThis vulnerability has been patched, implementing a timing-safe form login authenticator that ensures consistent response times regardless of whether a user exists or not. Technical DetailsThe vulnerability was caused by different response times when: * A valid username was provided (password hashing occurred) * An invalid username was provided (no password hashing occurred) The fix introduces a TimingSafeFormLoginAuthenticator that performs a dummy password hash verification even for non-existent users, ensuring consistent timing. WorkaroundsNo workarounds are available. Users should upgrade to the patched version. References * https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/03-Identity_Management_Testing/04-Testing_for_Account_Enumeration_and_Guessable_User_Account

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-9824
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 20:35 UTC · Revision 1

Source evidence

User Enumeration via Response Timing

core-osv · Original source

Published 3 Sept 2025, 14:25 UTC

ImpactThe attacker can validate if a user exists by checking the time login returns. This timing difference can be used to enumerate valid usernames, after which an attacker could attempt brute force attacks. PatchesThis vulnerability has been patched, implementing a timing-safe form login authenticator that ensures consistent response times regardless of whether a user exists or not. Technical DetailsThe vulnerability was caused by different response times when: * A valid username was provided (password hashing occurred) * An invalid username was provided (no password hashing occurred) The fix introduces a TimingSafeFormLoginAuthenticator that performs a dummy password hash verification even for non-existent users, ensuring consistent timing. WorkaroundsNo workarounds are available. Users should upgrade to the patched version. References * https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/03-Identity_Management_Testing/04-Testing_for_Account_Enumeration_and_Guessable_User_Account

osv:CVE-2025-9824
Complete source record
{
  "id": "67ba7a60c9104c370164620bdc9c52c78dce33fde8dd75e8950aa12d52a018e7",
  "url": "https://osv.dev/vulnerability/CVE-2025-9824",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "User Enumeration via Response Timing",
    "summary": "ImpactThe attacker can validate if a user exists by checking the time login returns. This timing difference can be used to enumerate valid usernames, after which an attacker could attempt brute force attacks. PatchesThis vulnerability has been patched, implementing a timing-safe form login authenticator that ensures consistent response times regardless of whether a user exists or not. Technical DetailsThe vulnerability was caused by different response times when: * A valid username was provided (password hashing occurred) * An invalid username was provided (no password hashing occurred) The fix introduces a TimingSafeFormLoginAuthenticator that performs a dummy password hash verification even for non-existent users, ensuring consistent timing. WorkaroundsNo workarounds are available. Users should upgrade to the patched version. References * https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/03-Identity_Management_Testing/04-Testing_for_Account_Enumeration_and_Guessable_User_Account",
    "evidence": "osv:CVE-2025-9824",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2025-9824",
      "aliases": [
        "CVE-2025-9824",
        "GHSA-3ggv-qwcp-j6xg"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/mautic/mautic",
              "type": "GIT",
              "events": [
                {
                  "introduced": "2676f425cdd2f1932c550346e902d1d79057601e"
                },
                {
                  "fixed": "2053634270f5d76ae779d3598a33b2fc1d53672c"
                },
                {
                  "introduced": "0850c08e34787ba87dae0369cc33a0090027806f"
                },
                {
                  "fixed": "d03b55e2d025dfb624e6756c63fba242ea025a65"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": ">= 5.0.0-alpha"
                      },
                      {
                        "fixed": "< 5.2.8"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "introduced": ">= 6.0.0-alpha"
                      },
                      {
                        "fixed": "< 6.0.5"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  }
                ]
              }
            }
          ],
          "versions": [
            "6.0.4",
            "6.0.3",
            "6.0.2",
            "5.2.6",
            "5.2.5",
            "6.0.1",
            "6.0.0-beta2",
            "6.0.0",
            "5.2.4",
            "6.0.0-rc",
            "5.2.2",
            "5.2.3",
            "6.0.0-alpha",
            "5.2.1",
            "5.2.0",
            "5.1.0",
            "5.0.0",
            "5.0.0-rc2",
            "5.0.0-rc1",
            "5.0.0-beta2",
            "5.0.0-beta1",
            "5.0.0-alpha1",
            "5.0.0-alpha"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-9824.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:39.051652653Z",
      "provider": "osv",
      "references": [
        "https://packagist.org",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/9xxx/CVE-2025-9824.json",
        "https://github.com/mautic/mautic/security/advisories/GHSA-3ggv-qwcp-j6xg",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-9824",
        "https://github.com/mautic/mautic"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-204"
        ],
        "cna_assigner": "Mautic",
        "unresolved_ranges": [
          {
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": ">= 4.4.0"
                  },
                  {
                    "fixed": "< 4.4.17"
                  }
                ],
                "source": "AFFECTED_FIELD",
                "strategy": "StandardRange"
              }
            ]
          }
        ],
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/9xxx/CVE-2025-9824.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-9824",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 506738,
  "published_at": "2025-09-03T14:25:06.796+00:00"
}