Payload: Password hashes use insufficient PBKDF2 iterations
Payload is a free and open source headless content management system. Payload versions from 3.0.0 before 3.90.0 and canary versions from 4.0.0-canary.0 before 4.0.0-canary.34 use a lower-than-recommended PBKDF2 work factor for password hashing, reducing the computational effort required to test recovered password hashes. This issue is fixed in versions 3.90.0 and 4.0.0-canary.34.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-105804
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 15:05 UTC · Revision 1
Source evidence
Payload: Password hashes use insufficient PBKDF2 iterations
core-osv · Original sourcePublished 6 Oct 2026, 15:23 UTC
Payload is a free and open source headless content management system. Payload versions from 3.0.0 before 3.90.0 and canary versions from 4.0.0-canary.0 before 4.0.0-canary.34 use a lower-than-recommended PBKDF2 work factor for password hashing, reducing the computational effort required to test recovered password hashes. This issue is fixed in versions 3.90.0 and 4.0.0-canary.34.
osv:CVE-2026-105804
Complete source record
{
"id": "f7eee8bbd4b6292138ef2086a0b2e055fddadb5399b97ad2200cfa2acc6b48de",
"url": "https://osv.dev/vulnerability/CVE-2026-105804",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Payload: Password hashes use insufficient PBKDF2 iterations",
"summary": "Payload is a free and open source headless content management system. Payload versions from 3.0.0 before 3.90.0 and canary versions from 4.0.0-canary.0 before 4.0.0-canary.34 use a lower-than-recommended PBKDF2 work factor for password hashing, reducing the computational effort required to test recovered password hashes. This issue is fixed in versions 3.90.0 and 4.0.0-canary.34.",
"evidence": "osv:CVE-2026-105804",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-105804",
"aliases": [
"CVE-2026-105804",
"GHSA-q6mq-ch85-c8mm"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:L/AC:H/AT:P/PR:H/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/payloadcms/payload",
"type": "GIT",
"events": [
{
"introduced": "6407e577d30d2e04a4aac8a5787416e67fd146c2"
},
{
"fixed": "e10b60228b92b680663110ea2af431643bfc6126"
},
{
"fixed": "1bc76e540a10f3ec88340f40591a57dae7456d01"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "3.0.0"
},
{
"fixed": "3.90.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "1bc76e540a10f3ec88340f40591a57dae7456d01"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "e10b60228b92b680663110ea2af431643bfc6126"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v3.90.0"
}
]
}
}
],
"versions": [
"v3.89.0",
"v3.87.1",
"v3.88.0",
"v3.87.0",
"v3.86.0",
"v3.85.2",
"v3.85.1",
"v3.85.0",
"v3.84.1",
"v3.84.0",
"v3.83.0",
"v3.82.1",
"v3.82.0",
"v3.81.0",
"v3.80.0",
"v3.79.1",
"v3.79.0",
"v3.78.0",
"v3.77.0",
"v3.76.1",
"v3.76.0",
"v3.75.0",
"v3.74.0",
"v3.73.0",
"v3.72.0",
"v3.71.1",
"v3.71.0",
"v3.70.0",
"v3.69.0",
"v3.68.5",
"v3.68.4",
"v3.68.3",
"v3.68.2",
"v3.68.1",
"v3.68.0",
"v3.67.0",
"v3.66.0",
"v3.65.0",
"v3.64.0",
"v3.63.0",
"v3.62.0",
"v3.61.1",
"v3.61.0",
"v3.60.0",
"v3.59.1",
"v3.59.0",
"v3.58.0",
"v3.57.0",
"v3.56.0",
"v3.55.1",
"v3.55.0",
"v3.54.0",
"v3.50.0",
"v3.5.0",
"v3.53.0",
"v3.52.0",
"v3.51.0",
"v3.49.1",
"v3.49.0",
"v3.48.0",
"v3.47.0",
"v3.46.0",
"v3.45.0",
"v3.44.0",
"v3.43.0",
"v3.42.0",
"v3.41.0",
"v3.40.0",
"v3.39.1",
"v3.39.0",
"v3.38.0",
"v3.37.0",
"v3.36.1",
"v3.36.0",
"v3.35.1",
"v3.35.0",
"v3.34.0",
"v3.33.0",
"v3.32.0",
"v3.31.0",
"v3.30.0",
"v3.29.0",
"v3.28.1",
"eslint/3.28.0",
"v3.28.0",
"v3.27.0",
"v3.26.0",
"v3.25.0",
"v3.24.0",
"v3.23.0",
"v3.22.0",
"v3.21.0",
"v3.20.0",
"v3.19.0",
"v3.18.0",
"v3.17.1",
"v3.17.0",
"v3.16.0",
"v3.15.1",
"v3.15.0",
"v3.14.0",
"v3.13.0",
"v3.12.0",
"v3.11.0",
"v3.10.0",
"eslint/3.9.0",
"v3.9.0",
"v3.8.0",
"v3.7.0",
"v3.6.0",
"v3.4.0",
"v3.3.0",
"v3.2.2",
"v3.2.1",
"v3.2.0",
"v3.1.1",
"v3.1.0",
"v3.0.2",
"v3.0.1",
"eslint/3.0.0",
"v3.0.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-105804.json"
}
}
],
"modified": "2026-10-28T02:30:29.718940513Z",
"provider": "osv",
"references": [
"https://github.com/payloadcms/payload/releases/tag/v3.90.0",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/105xxx/CVE-2026-105804.json",
"https://github.com/payloadcms/payload/security/advisories/GHSA-q6mq-ch85-c8mm",
"https://nvd.nist.gov/vuln/detail/CVE-2026-105804",
"https://github.com/payloadcms/payload/commit/1bc76e540a10f3ec88340f40591a57dae7456d01"
],
"provider_metadata": {
"cwe_ids": [
"CWE-916"
],
"cna_assigner": "GitHub_M",
"unresolved_ranges": [
{
"extracted_events": [
{
"range": [
{
"introduced": "4.0.0-canary.0"
},
{
"fixed": "4.0.0-canary.34"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
}
]
}
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/105xxx/CVE-2026-105804.json"
}
},
"related_cves": [
{
"value": "CVE-2026-105804",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 496655,
"published_at": "2026-10-06T15:23:14.882+00:00"
}