Discoverability of user password hash in Statamic CMS
Statamic is a Laravel and Git powered CMS. Before versions 3.2.39 and 3.3.2, it is possible to confirm a single character of a user's password hash using a specially crafted regular expression filter in the users endpoint of the REST API. Multiple such requests can eventually uncover the entire hash. The hash is not present in the response, however the presence or absence of a result confirms if the character is in the right position. The API has throttling enabled by default, making this a time intensive task. Both the REST API and the users endpoint need to be enabled, as they are disabled by default. The issue has been fixed in versions 3.2.39 and above, and 3.3.2 and above.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2022-24784
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 07:10 UTC · Revision 1
Source evidence
Discoverability of user password hash in Statamic CMS
core-osv · Original sourcePublished 25 Mar 2022, 21:40 UTC
Statamic is a Laravel and Git powered CMS. Before versions 3.2.39 and 3.3.2, it is possible to confirm a single character of a user's password hash using a specially crafted regular expression filter in the users endpoint of the REST API. Multiple such requests can eventually uncover the entire hash. The hash is not present in the response, however the presence or absence of a result confirms if the character is in the right position. The API has throttling enabled by default, making this a time intensive task. Both the REST API and the users endpoint need to be enabled, as they are disabled by default. The issue has been fixed in versions 3.2.39 and above, and 3.3.2 and above.
osv:CVE-2022-24784
Complete source record
{
"id": "52e407aa69b015a6a0e7eef165e11f8b7d868b024dd4d3c1d59b4a85d7cb268a",
"url": "https://osv.dev/vulnerability/CVE-2022-24784",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Discoverability of user password hash in Statamic CMS",
"summary": "Statamic is a Laravel and Git powered CMS. Before versions 3.2.39 and 3.3.2, it is possible to confirm a single character of a user's password hash using a specially crafted regular expression filter in the users endpoint of the REST API. Multiple such requests can eventually uncover the entire hash. The hash is not present in the response, however the presence or absence of a result confirms if the character is in the right position. The API has throttling enabled by default, making this a time intensive task. Both the REST API and the users endpoint need to be enabled, as they are disabled by default. The issue has been fixed in versions 3.2.39 and above, and 3.3.2 and above.",
"evidence": "osv:CVE-2022-24784",
"products": [],
"severity": "low",
"structured": {
"id": "CVE-2022-24784",
"aliases": [
"CVE-2022-24784",
"GHSA-qcgx-7p5f-hxvr"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/statamic/cms",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "08610687432c95d054db776bc1a2d100adf1f106"
},
{
"introduced": "e73f68cf74dd2c76723f23520d474fc4b73fa634"
},
{
"fixed": "52a9f4322169570875e8004641e1a835e3100fce"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:statamic:statamic:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "3.2.39"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:statamic:statamic:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "3.3.0"
},
{
"fixed": "3.3.2"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"v3.2.38",
"v3.3.1",
"v3.3.0",
"v3.2.37",
"v3.2.36",
"v3.2.35",
"v3.2.34",
"v3.2.33",
"v3.2.32",
"v3.2.31",
"v3.2.30",
"v3.2.29",
"v3.2.28",
"v3.2.27",
"v3.2.26",
"v3.2.25",
"v3.2.24",
"v3.2.23",
"v3.2.22",
"v3.2.21",
"v3.2.20",
"v3.2.19",
"v3.2.18",
"v3.2.17",
"v3.2.16",
"v3.2.15",
"v3.2.14",
"v3.2.13",
"v3.2.12",
"v3.2.11",
"v3.2.10",
"v3.2.9",
"v3.2.8",
"v3.2.7",
"v3.2.6",
"v3.2.5",
"v3.2.4",
"v3.2.3",
"v3.2.2",
"v3.2.1",
"v3.2.0",
"v3.2.0-beta.1",
"v3.1.0",
"v3.1.0-beta.3",
"v3.1.0-beta.2",
"v3.1.0-beta.1",
"v3.1.0-alpha.4",
"v3.1.0-alpha.3",
"v3.1.0-alpha.2",
"v3.1.0-alpha.1",
"v3.0.35",
"v3.0.34",
"v3.0.33",
"v3.0.32",
"v3.0.31",
"v3.0.30",
"v3.0.29",
"v3.0.28",
"v3.0.27",
"v3.0.26",
"v3.0.25",
"v3.0.24",
"v3.0.23",
"v3.0.22",
"v3.0.21",
"v3.0.20",
"v3.0.19",
"v3.0.18",
"v3.0.17",
"v3.0.16",
"v3.0.15",
"v3.0.14",
"v3.0.13",
"v3.0.12",
"v3.0.11",
"v3.0.10",
"v3.0.9",
"v3.0.8",
"v3.0.7",
"v3.0.6",
"v3.0.5",
"v3.0.4",
"v3.0.3",
"v3.0.2",
"v3.0.1",
"v3.0.0",
"v3.0.0-beta.46",
"v3.0.0-beta.45",
"v3.0.0-beta.44",
"v3.0.0-beta.43",
"v3.0.0-beta.42",
"v3.0.0-beta.41",
"v3.0.0-beta.40",
"v3.0.0-beta.39",
"v3.0.0-beta.38",
"v3.0.0-beta.37",
"v3.0.0-beta.36",
"v3.0.0-beta.35",
"v3.0.0-beta.34",
"v3.0.0-beta.33",
"v3.0.0-beta.32",
"v3.0.0-beta.31",
"v3.0.0-beta.30",
"v3.0.0-beta.29",
"v3.0.0-beta.28",
"v3.0.0-beta.27",
"v3.0.0-beta.26",
"v3.0.0-beta.25",
"v3.0.0-beta.17",
"v3.0.0-beta.16",
"v3.0.0-beta.15"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-24784.json"
}
}
],
"modified": "2026-10-28T02:30:26.657638207Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/24xxx/CVE-2022-24784.json",
"https://github.com/statamic/cms/security/advisories/GHSA-qcgx-7p5f-hxvr",
"https://nvd.nist.gov/vuln/detail/CVE-2022-24784",
"https://github.com/statamic/cms/issues/5604",
"https://github.com/statamic/cms/pull/5568"
],
"provider_metadata": {
"cwe_ids": [
"CWE-200"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/24xxx/CVE-2022-24784.json"
}
},
"related_cves": [
{
"value": "CVE-2022-24784",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 493269,
"published_at": "2022-03-25T21:40:11+00:00"
}