Payload: ReDoS in Multipart Content-Type Validation
Payload is a free and open source headless content management system. In versions from 3.0.0 before 3.90.0 and canary versions before 4.0.0-canary.34, a malformed multipart request body can cause multipart Content-Type processing to take an extremely long time, resulting in uncontrolled resource consumption. 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-105854
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 15:05 UTC · Revision 1
Source evidence
Payload: ReDoS in Multipart Content-Type Validation
core-osv · Original sourcePublished 6 Oct 2026, 16:17 UTC
Payload is a free and open source headless content management system. In versions from 3.0.0 before 3.90.0 and canary versions before 4.0.0-canary.34, a malformed multipart request body can cause multipart Content-Type processing to take an extremely long time, resulting in uncontrolled resource consumption. This issue is fixed in versions 3.90.0 and 4.0.0-canary.34.
osv:CVE-2026-105854
Complete source record
{
"id": "5ab3f0a50fc63dd3c21ba509abc0ea14a0a6329a9b837e9f9f657ae1ddf6dc84",
"url": "https://osv.dev/vulnerability/CVE-2026-105854",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Payload: ReDoS in Multipart Content-Type Validation",
"summary": "Payload is a free and open source headless content management system. In versions from 3.0.0 before 3.90.0 and canary versions before 4.0.0-canary.34, a malformed multipart request body can cause multipart Content-Type processing to take an extremely long time, resulting in uncontrolled resource consumption. This issue is fixed in versions 3.90.0 and 4.0.0-canary.34.",
"evidence": "osv:CVE-2026-105854",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-105854",
"aliases": [
"CVE-2026-105854",
"GHSA-2g7p-5934-q4w7"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/payloadcms/payload",
"type": "GIT",
"events": [
{
"introduced": "6407e577d30d2e04a4aac8a5787416e67fd146c2"
},
{
"fixed": "e10b60228b92b680663110ea2af431643bfc6126"
},
{
"fixed": "0084bd51fb7742b26a88431bb84cb1696857e6dc"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:payloadcms:payload:*:*:*:*:*:node.js:*:*",
"range": [
{
"introduced": "3.0.0"
},
{
"fixed": "3.90.0"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "0084bd51fb7742b26a88431bb84cb1696857e6dc"
}
],
"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-105854.json"
}
}
],
"modified": "2026-10-28T02:30:29.955066232Z",
"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-105854.json",
"https://github.com/payloadcms/payload/security/advisories/GHSA-2g7p-5934-q4w7",
"https://nvd.nist.gov/vuln/detail/CVE-2026-105854",
"https://github.com/payloadcms/payload/commit/0084bd51fb7742b26a88431bb84cb1696857e6dc"
],
"provider_metadata": {
"cwe_ids": [
"CWE-1333",
"CWE-400"
],
"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-105854.json"
}
},
"related_cves": [
{
"value": "CVE-2026-105854",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 496656,
"published_at": "2026-10-06T16:17:30.893+00:00"
}