CVE-2025-9824 (GCVE-0-2025-9824)
Vulnerability from cvelistv5 – Published: 2025-09-03 14:25 – Updated: 2025-09-03 14:46{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2025-9824",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2025-09-03T14:45:46.949698Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2025-09-03T14:46:19.282Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://packagist.org",
"defaultStatus": "unaffected",
"packageName": "mautic/core",
"product": "Mautic",
"repo": "https://github.com/mautic/mautic",
"vendor": "Mautic",
"versions": [
{
"lessThan": "\u003c 4.4.17",
"status": "affected",
"version": "\u003e= 4.4.0",
"versionType": "semver"
},
{
"lessThan": "\u003c 5.2.8",
"status": "affected",
"version": "\u003e= 5.0.0-alpha",
"versionType": "semver"
},
{
"lessThan": "\u003c 6.0.5",
"status": "affected",
"version": "\u003e= 6.0.0-alpha",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "reporter",
"value": "Vautia"
},
{
"lang": "en",
"type": "remediation reviewer",
"value": "kuzmany"
},
{
"lang": "en",
"type": "remediation developer",
"value": "nick-vanpraet"
}
],
"datePublic": "2025-09-03T08:56:00.000Z",
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003ch3\u003eImpact\u003c/h3\u003e\u003cp\u003eThe 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.\u003c/p\u003e\u003ch3\u003ePatches\u003c/h3\u003e\u003cp\u003eThis vulnerability has been patched, implementing a timing-safe form login authenticator that ensures consistent response times regardless of whether a user exists or not.\u003c/p\u003e\u003ch3\u003eTechnical Details\u003c/h3\u003e\u003cp\u003eThe vulnerability was caused by different response times when:\u003c/p\u003e\u003cul\u003e\u003cli\u003eA valid username was provided (password hashing occurred)\u003c/li\u003e\u003cli\u003eAn invalid username was provided (no password hashing occurred)\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eThe fix introduces a \u003ccode\u003eTimingSafeFormLoginAuthenticator\u003c/code\u003e\u0026nbsp;that performs a dummy password hash verification even for non-existent users, ensuring consistent timing.\u003c/p\u003e\u003ch3\u003eWorkarounds\u003c/h3\u003e\u003cp\u003eNo workarounds are available. Users should upgrade to the patched version.\u003c/p\u003e\u003ch3\u003eReferences\u003c/h3\u003e\u003cul\u003e\u003cli\u003e\u003ca target=\"_blank\" rel=\"nofollow\" href=\"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\"\u003ehttps://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\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e"
}
],
"value": "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.\n\nPatchesThis vulnerability has been patched, implementing a timing-safe form login authenticator that ensures consistent response times regardless of whether a user exists or not.\n\nTechnical DetailsThe vulnerability was caused by different response times when:\n\n * A valid username was provided (password hashing occurred)\n * An invalid username was provided (no password hashing occurred)\n\n\nThe fix introduces a TimingSafeFormLoginAuthenticator\u00a0that performs a dummy password hash verification even for non-existent users, ensuring consistent timing.\n\nWorkaroundsNo workarounds are available. Users should upgrade to the patched version.\n\nReferences * 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"
}
],
"impacts": [
{
"capecId": "CAPEC-172",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-172"
}
]
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "HIGH",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 5.9,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-204",
"description": "CWE-204",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2025-09-03T14:25:06.796Z",
"orgId": "4e531c38-7a33-45d3-98dd-d909c0d8852e",
"shortName": "Mautic"
},
"references": [
{
"url": "https://github.com/mautic/mautic/security/advisories/GHSA-3ggv-qwcp-j6xg"
}
],
"source": {
"advisory": "GHSA-3ggv-qwcp-j6xg",
"discovery": "EXTERNAL"
},
"title": "User Enumeration via Response Timing",
"x_generator": {
"engine": "Vulnogram 0.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "4e531c38-7a33-45d3-98dd-d909c0d8852e",
"assignerShortName": "Mautic",
"cveId": "CVE-2025-9824",
"datePublished": "2025-09-03T14:25:06.796Z",
"dateReserved": "2025-09-02T08:28:30.562Z",
"dateUpdated": "2025-09-03T14:46:19.282Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2025-9824",
"date": "2026-11-11",
"epss": "0.00283",
"percentile": "0.21077"
},
"nvd": {
"cve": {
"affected": [
{
"affectedData": [
{
"collectionURL": "https://packagist.org",
"defaultStatus": "unaffected",
"packageName": "mautic/core",
"product": "Mautic",
"repo": "https://github.com/mautic/mautic",
"vendor": "Mautic",
"versions": [
{
"lessThan": "\u003c 4.4.17",
"status": "affected",
"version": "\u003e= 4.4.0",
"versionType": "semver"
},
{
"lessThan": "\u003c 5.2.8",
"status": "affected",
"version": "\u003e= 5.0.0-alpha",
"versionType": "semver"
},
{
"lessThan": "\u003c 6.0.5",
"status": "affected",
"version": "\u003e= 6.0.0-alpha",
"versionType": "semver"
}
]
}
],
"source": "security@mautic.org"
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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.\n\nPatchesThis vulnerability has been patched, implementing a timing-safe form login authenticator that ensures consistent response times regardless of whether a user exists or not.\n\nTechnical DetailsThe vulnerability was caused by different response times when:\n\n * A valid username was provided (password hashing occurred)\n * An invalid username was provided (no password hashing occurred)\n\n\nThe fix introduces a TimingSafeFormLoginAuthenticator\u00a0that performs a dummy password hash verification even for non-existent users, ensuring consistent timing.\n\nWorkaroundsNo workarounds are available. Users should upgrade to the patched version.\n\nReferences * 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"
},
{
"lang": "es",
"value": "Impacto\nEl atacante puede validar si un usuario existe comprobando el tiempo que devuelve el inicio de sesi\u00f3n. Esta diferencia de tiempo puede ser utilizada para enumerar nombres de usuario v\u00e1lidos, despu\u00e9s de lo cual un atacante podr\u00eda intentar ataques de fuerza bruta.\n\nParches\nEsta vulnerabilidad ha sido parcheada, implementando un autenticador de inicio de sesi\u00f3n de formulario seguro contra ataques de temporizaci\u00f3n que asegura tiempos de respuesta consistentes independientemente de si un usuario existe o no.\n\nDetalles T\u00e9cnicos\nLa vulnerabilidad fue causada por diferentes tiempos de respuesta cuando:\n\n * Se proporcion\u00f3 un nombre de usuario v\u00e1lido (se realiz\u00f3 el hash de la contrase\u00f1a)\n * Se proporcion\u00f3 un nombre de usuario inv\u00e1lido (no se realiz\u00f3 el hash de la contrase\u00f1a)\n\nLa soluci\u00f3n introduce un TimingSafeFormLoginAuthenticator que realiza una verificaci\u00f3n de hash de contrase\u00f1a ficticia incluso para usuarios inexistentes, asegurando una temporizaci\u00f3n consistente.\n\nSoluciones provisionales\nNo hay soluciones provisionales disponibles. Los usuarios deben actualizar a la versi\u00f3n parcheada.\n\nReferencias\n * 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"
}
],
"id": "CVE-2025-9824",
"lastModified": "2026-10-19T17:10:00.173",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "HIGH",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 5.9,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"exploitabilityScore": 2.2,
"impactScore": 3.6,
"source": "security@mautic.org",
"type": "Secondary"
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2025-9824",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2025-09-03T14:45:46.949698Z",
"version": "2.0.3"
}
}
]
},
"published": "2025-09-03T15:15:49.413",
"references": [
{
"source": "security@mautic.org",
"url": "https://github.com/mautic/mautic/security/advisories/GHSA-3ggv-qwcp-j6xg"
}
],
"sourceIdentifier": "security@mautic.org",
"vulnStatus": "Deferred",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "CWE-204"
}
],
"source": "security@mautic.org",
"type": "Secondary"
}
]
}
},
"redhat_vex": {
"current_release_date": "2025-09-05T15:22:11+00:00",
"cve": "CVE-2025-9824",
"id": "CVE-2025-9824",
"initial_release_date": "2025-09-03T08:56:00+00:00",
"product_status:known_not_affected": "1",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "User Enumeration via Response Timing",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-9824.json",
"version": "3"
},
"vulnrichment": {
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2025-9824",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2025-09-03T14:45:46.949698Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2025-09-03T14:46:05.522Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://packagist.org",
"defaultStatus": "unaffected",
"packageName": "mautic/core",
"product": "Mautic",
"repo": "https://github.com/mautic/mautic",
"vendor": "Mautic",
"versions": [
{
"lessThan": "\u003c 4.4.17",
"status": "affected",
"version": "\u003e= 4.4.0",
"versionType": "semver"
},
{
"lessThan": "\u003c 5.2.8",
"status": "affected",
"version": "\u003e= 5.0.0-alpha",
"versionType": "semver"
},
{
"lessThan": "\u003c 6.0.5",
"status": "affected",
"version": "\u003e= 6.0.0-alpha",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "reporter",
"value": "Vautia"
},
{
"lang": "en",
"type": "remediation reviewer",
"value": "kuzmany"
},
{
"lang": "en",
"type": "remediation developer",
"value": "nick-vanpraet"
}
],
"datePublic": "2025-09-03T08:56:00.000Z",
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003ch3\u003eImpact\u003c/h3\u003e\u003cp\u003eThe 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.\u003c/p\u003e\u003ch3\u003ePatches\u003c/h3\u003e\u003cp\u003eThis vulnerability has been patched, implementing a timing-safe form login authenticator that ensures consistent response times regardless of whether a user exists or not.\u003c/p\u003e\u003ch3\u003eTechnical Details\u003c/h3\u003e\u003cp\u003eThe vulnerability was caused by different response times when:\u003c/p\u003e\u003cul\u003e\u003cli\u003eA valid username was provided (password hashing occurred)\u003c/li\u003e\u003cli\u003eAn invalid username was provided (no password hashing occurred)\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eThe fix introduces a \u003ccode\u003eTimingSafeFormLoginAuthenticator\u003c/code\u003e\u0026nbsp;that performs a dummy password hash verification even for non-existent users, ensuring consistent timing.\u003c/p\u003e\u003ch3\u003eWorkarounds\u003c/h3\u003e\u003cp\u003eNo workarounds are available. Users should upgrade to the patched version.\u003c/p\u003e\u003ch3\u003eReferences\u003c/h3\u003e\u003cul\u003e\u003cli\u003e\u003ca target=\"_blank\" rel=\"nofollow\" href=\"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\"\u003ehttps://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\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e"
}
],
"value": "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.\n\nPatchesThis vulnerability has been patched, implementing a timing-safe form login authenticator that ensures consistent response times regardless of whether a user exists or not.\n\nTechnical DetailsThe vulnerability was caused by different response times when:\n\n * A valid username was provided (password hashing occurred)\n * An invalid username was provided (no password hashing occurred)\n\n\nThe fix introduces a TimingSafeFormLoginAuthenticator\u00a0that performs a dummy password hash verification even for non-existent users, ensuring consistent timing.\n\nWorkaroundsNo workarounds are available. Users should upgrade to the patched version.\n\nReferences * 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"
}
],
"impacts": [
{
"capecId": "CAPEC-172",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-172"
}
]
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "HIGH",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 5.9,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-204",
"description": "CWE-204",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2025-09-03T14:25:06.796Z",
"orgId": "4e531c38-7a33-45d3-98dd-d909c0d8852e",
"shortName": "Mautic"
},
"references": [
{
"url": "https://github.com/mautic/mautic/security/advisories/GHSA-3ggv-qwcp-j6xg"
}
],
"source": {
"advisory": "GHSA-3ggv-qwcp-j6xg",
"discovery": "EXTERNAL"
},
"title": "User Enumeration via Response Timing",
"x_generator": {
"engine": "Vulnogram 0.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "4e531c38-7a33-45d3-98dd-d909c0d8852e",
"assignerShortName": "Mautic",
"cveId": "CVE-2025-9824",
"datePublished": "2025-09-03T14:25:06.796Z",
"dateReserved": "2025-09-02T08:28:30.562Z",
"dateUpdated": "2025-09-03T14:46:19.282Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1"
}
}
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
How durations are calculated
Following the VTEM framework (Black Hat USA 2015), time to patch starts when the vendor or a coordinator was informed, total time to patch at discovery, and disclosure to patch at public disclosure; vendor response time runs from the report to its acknowledgement. Time to exploit and time unpatched start at the earliest discovery or report, falling back to public disclosure. Unpatched time ends at the first recorded patch, or the calculation time when no patch is recorded. Exploitation to patch shows the interval between those two events; a published proof of concept is a public exploit, not exploitation.
Each result shows its source dates. A negative interval means the end event came first; when date-only inputs leave the order open, the result says so. Date-only inputs are approximate. The earliest evidence wins: KEV report dates and sightings are labelled as such. Records describing another vulnerability are listed but never calculated from, and a PoC alone does not establish exploitation. Missing patch evidence does not prove that no patch exists. Filters below change the event list only.
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.