Skip to content
eastbaycyber

CVE-2026-105857: Payload CMS RCE

CVSS · Critical
10.0
In CISA KEV
No
Published
Oct 6
CVE explainers 9 min read
Security Research Desk Source-checked
Auto-checked against the official CVE record · Human-reviewed after publishing · Updated 2026-10-06
▲ Escalation ViewOne CVE, briefed at three altitudes — skim the Brief, weigh the Impact, or work the Runbook. The way a SOC actually reads it.
CISOBrief · 30-second brief

TL;DR - CVE-2026-105857 is a CVSS 10.0 remote-code-execution vulnerability in Payload’s form-builder plugin. - Versions before 3.90.0, and canary versions before 4.0.0-canary.34, are affected. - No verified public PoC or confirmed in-the-wild exploitation was identified; upgrade immediately.

Summary

CVE-2026-105857 is a critical Payload CMS vulnerability affecting the @payloadcms/plugin-form-builder component. According to the NVD description, an attacker can submit a specially crafted form submission that causes code execution on the server hosting the Payload application.

Payload is an open-source headless content management system. Organizations evaluating their broader exposure can also review this guide to the best cybersecurity vendors for small businesses.

Field Detail
CVE ID CVE-2026-105857
CVSS score 10.0, Critical
CVSS vector Not exposed in the supplied NVD response; confirm the vector in the current NVD record
Attack vector Remote, through a crafted form submission
Authentication required Not established by the available record; treat exposed form endpoints as potentially reachable without trusted-user authentication until verified
Patch available Yes
Fixed stable version @payloadcms/plugin-form-builder 3.90.0 or later
Fixed canary version 4.0.0-canary.34 or later

The practical risk is server compromise, not limited form-data manipulation. Successful exploitation could allow arbitrary code to run with the privileges of the Payload application process, potentially exposing content, credentials, environment variables, connected services, and the underlying host.

The supplied research does not establish whether every Payload deployment exposes a vulnerable form endpoint. Administrators should identify the plugin and its routes in both source and production artifacts. Internet-facing applications and deployments that process untrusted submissions should be checked first.

Analyst’s Take: The first priority is to identify production applications that run @payloadcms/plugin-form-builder and move them to a fixed version. The absence of a verified public PoC or CISA KEV listing does not offset the combination of a CVSS 10.0 rating, remote submission path, and potential server-side code execution.

AnalystImpact · assess the risk

Root Cause

The available NVD description establishes the attack path but not the implementation-level defect. A crafted form submission reaches vulnerable server-side processing in @payloadcms/plugin-form-builder, where it can result in remote code execution. The supplied record does not identify the precise function, parser, validation failure, deserialization behavior, or execution primitive involved.

That limitation matters during investigation. Defenders should not assume that input filtering, a web application firewall, or restricting visible form fields removes the vulnerability. Those controls may reduce some exploit traffic, but they do not replace upgrading the affected package. Maintainers requiring code-level analysis should compare the vulnerable release with the upstream remediation commit and review the associated GitHub security advisory.

The relevant upstream references are the Payload commit 333b82b9f3e685fed6826c2e3270da79df8336c6 and the project’s security advisory. Because the exact CVSS vector was not included in the supplied NVD response, this article does not infer individual vector components beyond the documented remote form-submission attack path.

Who’s Exposed

The directly affected component is Payload’s @payloadcms/plugin-form-builder, not necessarily every application that uses Payload CMS. Organizations should check direct dependencies, lockfiles, monorepo packages, container build stages, and deployed JavaScript artifacts.

Product or component Affected versions Fixed version
@payloadcms/plugin-form-builder stable releases Versions before 3.90.0 3.90.0 or later
@payloadcms/plugin-form-builder canary releases Versions before 4.0.0-canary.34 4.0.0-canary.34 or later
Payload CMS without the form-builder plugin Not established as affected by the supplied description Verify against the upstream advisory

Applications with public-facing forms deserve priority because the documented trigger is a crafted submission. Internal applications may still be exposed if their form routes are reachable from untrusted networks, if authentication is weak, or if a compromised account can submit data.

Version checks must cover the artifact actually running in production. A source repository can show a fixed manifest while a stale lockfile, cached dependency, container layer, or previously built application continues to ship a vulnerable release.

Severity Breakdown

CVE-2026-105857 has a CVSS base score of 10.0, classified as Critical. The score indicates the vulnerability has maximum base severity, but the supplied NVD response did not expose the complete vector string. The individual CVSS components below should therefore be treated as documented or operational interpretations, not as a reconstructed official vector.

CVSS consideration Available information
Base score 10.0
Severity Critical
Reachability Remote attack through a crafted form submission
Required privileges Not specified in the supplied record
User interaction Not specified in the supplied record
Impact Remote code execution on the Payload server
Scope and impact components Confirm directly in the NVD record when the full vector is available

The absence of a published vector in the supplied response does not reduce the urgency. Remote code execution in a server-side CMS component can provide an attacker with the same operating-system permissions as the application, including access to local files, environment variables, databases, cloud credentials, and internal network services.

Security teams should record the exact vector from the current NVD entry or upstream advisory in their vulnerability-management system before producing compliance reports or comparative risk metrics. Until then, use the confirmed CVSS 10.0 score and the documented RCE impact for prioritization.

Exploitation Status

No verified public exploit proof of concept was identified in the sources checked for this assessment. The NVD description does not claim active exploitation, and CVE-2026-105857 was not found in the CISA Known Exploited Vulnerabilities catalog at the time of checking.

This does not establish that exploitation has never occurred. CISA KEV inclusion is a confirmation mechanism with specific catalog criteria, not a complete global sensor. Defenders should distinguish the current evidence: no verified public PoC identified, no CISA KEV listing identified, and no confirmed in-the-wild exploitation reported in the supplied sources.

The high score and remote submission path still justify immediate remediation. Attackers may reverse-engineer a patch or advisory after disclosure, and internet-facing CMS deployments are commonly scanned for vulnerable components even when no public exploit is initially available.

Organizations reviewing form endpoint exposure may also consult the webhook security FAQ for general guidance on validating inbound requests, controlling access, and monitoring server-side integrations.

Sources

Source Relevance
NVD: CVE-2026-105857 CVE description, CVSS score, affected and fixed versions
Payload upstream commit Implementation-level remediation reference
Payload v3.90.0 release Stable fixed release
GitHub security advisory Upstream advisory and technical details
CISA KEV catalog Exploitation-status cross-check

The NVD record is the basis for the affected ranges, fixed versions, CVSS 10.0 score, and documented crafted-submission attack path. The supplied research did not include the full CVSS vector, so that value should be retrieved directly from NVD before publication in systems that require vector-level reporting.

CISA KEV did not list CVE-2026-105857 at the time of checking. The checked sources also did not identify a verified public PoC or confirm exploitation in the wild. Those findings should be revisited as new advisories, exploit code, or incident reports emerge.

This article may contain affiliate links. We earn a commission on qualifying purchases at no extra cost to you.

ResponderRunbook · act now

Detection Guidance

Start by identifying exposed Payload applications and the routes used by the form-builder plugin. Review web access logs, reverse-proxy logs, application logs, process telemetry, and filesystem events around suspicious submissions. Relevant indicators include unusual form payloads, repeated malformed requests, unexpected server errors, child-process creation by the Node.js process, outbound connections from the application host, new files, and changes to application code or configuration.

A single suspicious request is not proof of exploitation. Correlate request timestamps with process execution, file writes, authentication events, cloud API calls, database activity, and outbound network connections. Preserve the original request body where legally and operationally appropriate, since a normalized application log may omit the input that triggered the vulnerable processing path.

Technical Notes

The following query is a generic starting point for environments that store HTTP access logs in a structured http_logs table. Field names and status conventions must be adapted to the local SIEM:

SELECT
  timestamp,
  src_ip,
  host,
  uri,
  http_method,
  status,
  user_agent,
  request_body_hash
FROM http_logs
WHERE timestamp >= CURRENT_TIMESTAMP - INTERVAL '14 days'
  AND http_method IN ('POST', 'PUT', 'PATCH')
  AND (
    uri ILIKE '%form%'
    OR uri ILIKE '%submission%'
  )
  AND (
    status >= 400
    OR user_agent ILIKE '%curl%'
    OR user_agent ILIKE '%python%'
    OR user_agent ILIKE '%scanner%'
  )
ORDER BY timestamp DESC;

On Linux hosts, pair web-log review with process telemetry for child processes launched by the Payload or Node.js service account:

sudo ausearch -ts recent -m EXECVE -i | \
  grep -Ei 'node|payload|sh|bash|curl|wget|python|perl|nc'

The command is a triage aid, not a CVE-specific signature. Legitimate application behavior can produce some of these events, so validate the parent process, user, command line, working directory, and timestamp against the suspected form submission.

Remediation Steps

Upgrade the stable plugin to 3.90.0 or later. Deployments using a canary release must move to 4.0.0-canary.34 or later. After updating, rebuild the application and redeploy the resulting artifact; changing only a package manifest is insufficient if production runs a previously built image or bundle.

Example package-manager commands are:

# Stable release line
npm install @payloadcms/plugin-form-builder@^3.90.0

# Canary release line, if the deployment intentionally uses canary builds
npm install @payloadcms/plugin-form-builder@^4.0.0-canary.34

Review the resulting lockfile and verify the installed package:

npm ls @payloadcms/plugin-form-builder
grep -n '"@payloadcms/plugin-form-builder"' package-lock.json

Use the equivalent commands for the package manager in use, and confirm that the production container or host contains the fixed version. If the plugin is transitive, update the parent dependency or use the project’s supported override mechanism rather than manually replacing files in node_modules.

There is no documented workaround in the supplied advisory that removes the vulnerability while retaining the affected plugin version. If immediate upgrading is impossible, restrict access to vulnerable form endpoints, place the application behind authenticated access where operationally feasible, apply strict network egress controls, and monitor submissions and process activity. These measures reduce risk temporarily; they do not substitute for the fixed release.

If exploitation is suspected, isolate the application, preserve logs and filesystem evidence, and redeploy from trusted artifacts. Rotate application secrets, database credentials, cloud credentials, signing keys, and other secrets that may have been available to the process. A password manager such as 1Password can help teams rotate and centrally manage replacement credentials, but it does not replace incident-response procedures or secret invalidation.

Check for unauthorized users, modified content, new scheduled tasks, unexpected packages, web shells, and outbound connections before returning the service to production.

Technical Notes

A deployment pipeline can fail closed on vulnerable versions with a simple package check:

set -eu

version="$(npm ls @payloadcms/plugin-form-builder --json 2>/dev/null \
  | node -e '
    let s = "";
    process.stdin.on("data", d => s += d);
    process.stdin.on("end", () => {
      const j = JSON.parse(s);
      const v = j.dependencies?.["@payloadcms/plugin-form-builder"]?.version || "";
      process.stdout.write(v);
    });
  ')"

case "$version" in
  3.90.*|3.9[1-9].*|3.[1-9][0-9].*|4.*)
    echo "Review version manually: $version"
    ;;
  *)
    echo "Plugin version requires security review: $version"
    exit 1
    ;;
esac

Because semver handling differs between shell patterns and package-manager ranges, use a proper semver policy in production CI. The required operational check is that stable deployments are at 3.90.0 or later and canary deployments are at 4.0.0-canary.34 or later.

Last verified: 2026-10-06

Disclaimer: This article may contain affiliate links. We earn a commission on qualifying purchases at no extra cost to you.