Skip to content
Heist/ feed
Back to feed
HighFix available

Payload: Incomplete validation during the upload file lifecycle

Type: advisorySources: OSV

## Impact Under certain conditions, an authenticated user with permission to modify uploads could cause unintended files to be removed during file cleanup. This may result in data loss or service disruption. You are affected if: - You use Payload upload collections with local file storage. - Untrusted authenticated users can update or delete uploads. Deployments that restrict upload management to trusted users are less exposed. ## Patches Payload now validates uploaded filenames and ensures file cleanup remains within the configured upload directory. Users should upgrade Payload packages to `>= 3.90.0` or `>= 4.0.0-canary.34`. ## Workarounds Restrict upload update and deletion operations to trusted users and validate submitted filenames. These measures are temporary mitigations. Upgrading to a patched version is recommended.

Products
payload
Affected versions
Not specified
Fixed versions
3.90.0, 4.0.0-canary.34
CVEs
CVE-2026-105865
Confirmed fixed CVEs
Not specified
Updated in this feed
28 Oct 2026, 08:48 UTC · Revision 1

Source evidence

Payload: Incomplete validation during the upload file lifecycle

core-osv · Original source

Published 7 Oct 2026, 20:29 UTC

## Impact Under certain conditions, an authenticated user with permission to modify uploads could cause unintended files to be removed during file cleanup. This may result in data loss or service disruption. You are affected if: - You use Payload upload collections with local file storage. - Untrusted authenticated users can update or delete uploads. Deployments that restrict upload management to trusted users are less exposed. ## Patches Payload now validates uploaded filenames and ensures file cleanup remains within the configured upload directory. Users should upgrade Payload packages to `>= 3.90.0` or `>= 4.0.0-canary.34`. ## Workarounds Restrict upload update and deletion operations to trusted users and validate submitted filenames. These measures are temporary mitigations. Upgrading to a patched version is recommended.

osv:GHSA-p223-2wr2-j562

payload

Fixed versions: 3.90.0

payload

Fixed versions: 4.0.0-canary.34

Complete source record
{
  "id": "4a9953b9d483cc3bdd2e5023d427ede33473af1f4b1df03af0e0f4274413220c",
  "url": "https://osv.dev/vulnerability/GHSA-p223-2wr2-j562",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Payload: Incomplete validation during the upload file lifecycle",
    "summary": "## Impact Under certain conditions, an authenticated user with permission to modify uploads could cause unintended files to be removed during file cleanup. This may result in data loss or service disruption. You are affected if: - You use Payload upload collections with local file storage. - Untrusted authenticated users can update or delete uploads. Deployments that restrict upload management to trusted users are less exposed. ## Patches Payload now validates uploaded filenames and ensures file cleanup remains within the configured upload directory. Users should upgrade Payload packages to `>= 3.90.0` or `>= 4.0.0-canary.34`. ## Workarounds Restrict upload update and deletion operations to trusted users and validate submitted filenames. These measures are temporary mitigations. Upgrading to a patched version is recommended.",
    "evidence": "osv:GHSA-p223-2wr2-j562",
    "products": [
      {
        "name": {
          "value": "payload",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "3.90.0",
            "evidence": "/affected/0/ranges"
          }
        ],
        "affected_versions": []
      },
      {
        "name": {
          "value": "payload",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "4.0.0-canary.34",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "GHSA-p223-2wr2-j562",
      "aliases": [
        "CVE-2026-105865",
        "GHSA-p223-2wr2-j562"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "3.90.0"
                }
              ]
            }
          ],
          "package": {
            "name": "payload",
            "purl": "pkg:npm/payload",
            "ecosystem": "npm"
          },
          "database_specific": {
            "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-p223-2wr2-j562/GHSA-p223-2wr2-j562.json"
          }
        },
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "4.0.0-canary.0"
                },
                {
                  "fixed": "4.0.0-canary.34"
                }
              ]
            }
          ],
          "package": {
            "name": "payload",
            "purl": "pkg:npm/payload",
            "ecosystem": "npm"
          },
          "database_specific": {
            "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-p223-2wr2-j562/GHSA-p223-2wr2-j562.json"
          }
        }
      ],
      "modified": "2026-10-07T20:45:06.343437500Z",
      "provider": "osv",
      "references": [
        "https://github.com/payloadcms/payload/security/advisories/GHSA-p223-2wr2-j562",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-105865",
        "https://github.com/payloadcms/payload/commit/6b74418f628fa633c2f297e5919a9f91b383dc11",
        "https://github.com/payloadcms/payload",
        "https://github.com/payloadcms/payload/releases/tag/v3.90.0"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-22",
          "CWE-73"
        ],
        "severity": "HIGH",
        "github_reviewed": true,
        "nvd_published_at": "2026-10-06T17:17:22Z",
        "github_reviewed_at": "2026-10-07T20:29:09Z"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-105865",
        "evidence": "/aliases"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/database_specific/severity"
  },
  "source_id": "core-osv",
  "document_id": 97271,
  "published_at": "2026-10-07T20:29:09+00:00"
}