Payload is a free and open source headless content management system. In versions before 3.90.0 and canary versions before 4.0.0-canary.34, an authenticated user who can update or delete uploads stored locally can cause file cleanup to remove unintended files outside the configured upload directory, resulting in data loss or service disruption. Deployments that restrict upload management to trusted users are less exposed.
This issue is fixed in versions 3.90.0 and 4.0.0-canary.34.
Attack Parameters
Impact Assessment
CVSS Vector v3.1
Weakness Type (CWE)
Vulnerable Products 35
| Configuration | From (including) | Up to (excluding) |
|---|---|---|
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:*:*:*:*:*:node.js:*:*
|
— |
3.90.0
|
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary0:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary1:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary10:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary11:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary12:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary13:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary14:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary15:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary16:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary17:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary18:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary19:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary2:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary20:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary21:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary22:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary23:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary24:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary25:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary26:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary27:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary28:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary29:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary3:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary30:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary31:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary32:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary33:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary4:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary5:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary6:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary7:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary8:*:*:*:node.js:*:*
|
— | — |
|
Payloadcms Payload
cpe:2.3:a:payloadcms:payload:4.0.0:canary9:*:*:*:node.js:*:*
|
— | — |