/

CVE-2026-106100

Severity:

HIGH RISK

(7.1)

Authorization Bypass (CWE-639) in Payload MongoDB Adapter

CVE-2026-106100

Analyzed

Vulnerability type

Category:

Authorization Bypass

CWE:

CWE-639, CWE-915

Impact:

Unauthorized modification of protected document fields

Severity:

HIGH RISK

(7.1)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

A field-level authorization flaw in Payload's MongoDB adapter allows an authenticated user who can update a document to modify fields they are not permitted to change. The issue becomes risky when document updates rely on adapter-side enforcement that does not consistently preserve field-level write access controls.

A field-level authorization flaw in Payload's MongoDB adapter allows an authenticated user who can update a document to modify fields they are not permitted to change. The issue becomes risky when document updates rely on adapter-side enforcement that does not consistently preserve field-level write access controls.

Affected context

The vulnerability affects Payload deployments using the @payloadcms/db-mongodb adapter in affected releases. It requires a user to have legitimate permission to update a document, while field-level write restrictions are expected to prevent changes to particular attributes. The Postgres and SQLite adapters are not affected according to the available vulnerability description.

The vulnerability affects Payload deployments using the @payloadcms/db-mongodb adapter in affected releases. It requires a user to have legitimate permission to update a document, while field-level write restrictions are expected to prevent changes to particular attributes. The Postgres and SQLite adapters are not affected according to the available vulnerability description.

Exploit preconditions

  • Attack surface: Authenticated document-update functionality backed by MongoDB - Required access: A valid account with permission to update at least one target document - Trigger point: Processing and persistence of a document update - Why exploitation is possible: The update path may permit changes to fields

whose field-level write access rules should deny modification

  • Attack surface: Authenticated document-update functionality backed by MongoDB - Required access: A valid account with permission to update at least one target document - Trigger point: Processing and persistence of a document update - Why exploitation is possible: The update path may permit changes to fields

whose field-level write access rules should deny modification

Why this happens

The underlying bug is an authorization enforcement failure in document updates. The MongoDB adapter does not reliably apply field-level write restrictions when an authorized user submits changes to a document. This behavior maps primarily to CWE-639, authorization bypass through a user-controlled key, and is also related to CWE-915, where dynamically selected object attributes can be modified without adequate control.

The underlying bug is an authorization enforcement failure in document updates. The MongoDB adapter does not reliably apply field-level write restrictions when an authorized user submits changes to a document. This behavior maps primarily to CWE-639, authorization bypass through a user-controlled key, and is also related to CWE-915, where dynamically selected object attributes can be modified without adequate control.

Potential impact

  • An authenticated user may modify protected document fields
  • Business rules represented by restricted attributes could be bypassed
  • Content integrity and workflow state may be altered
  • Sensitive or privileged metadata could be changed if exposed to the update path
  • Downstream applications may act on unauthorized document values
  • An authenticated user may modify protected document fields
  • Business rules represented by restricted attributes could be bypassed
  • Content integrity and workflow state may be altered
  • Sensitive or privileged metadata could be changed if exposed to the update path
  • Downstream applications may act on unauthorized document values

General mitigation guidance

Mitigation generally focuses on enforcing authorization at the final update boundary rather than trusting the submitted field set. Common defensive patterns include using deny-by-default field policies, deriving writable fields from the authenticated user's privileges, filtering unauthorized attributes before persistence, and applying the same checks consistently across all update paths. Reducing client control over sensitive fields, validating ownership and tenant boundaries, and running application operations with least privilege can further limit impact.

Mitigation generally focuses on enforcing authorization at the final update boundary rather than trusting the submitted field set. Common defensive patterns include using deny-by-default field policies, deriving writable fields from the authenticated user's privileges, filtering unauthorized attributes before persistence, and applying the same checks consistently across all update paths. Reducing client control over sensitive fields, validating ownership and tenant boundaries, and running application operations with least privilege can further limit impact.

How teams detect issues like this

Detection approaches can include static and dynamic checks for update handlers that merge client-controlled attributes directly into stored documents. Code review should examine whether field-level access decisions are applied after request parsing and before database writes, including bulk and nested update paths. Policy enforcement can require authorization tests for every protected field, with negative cases confirming that users cannot alter restricted attributes. Automated security review tools may help identify unchecked dynamic property assignment and inconsistent adapter behavior.

Detection approaches can include static and dynamic checks for update handlers that merge client-controlled attributes directly into stored documents. Code review should examine whether field-level access decisions are applied after request parsing and before database writes, including bulk and nested update paths. Policy enforcement can require authorization tests for every protected field, with negative cases confirming that users cannot alter restricted attributes. Automated security review tools may help identify unchecked dynamic property assignment and inconsistent adapter behavior.

Sources

SourceLink
github.comgithub.com/payloadcms/payload/commit/2a69863deb0e3c87e36c1b3b17ab2d5b02fcb941
github.comgithub.com/payloadcms/payload/commit/8f77dffa9552885ec2710768cfee15b57e389935
github.comgithub.com/payloadcms/payload/releases/tag/v3.87.0
github.comgithub.com/payloadcms/payload/security/advisories/GHSA-4ww4-68q3-h7g5

Frequently asked

questions

Exploitation generally requires an authenticated user who already has permission

to update a document. The flaw can allow that user to exceed the intended

field-level permissions.

No. The described attack requires access to an authorized document-update

operation; whether additional roles or tenant restrictions apply depends on

the deployment's configuration.

Enforce field-level authorization immediately before persistence, use an

allowlist of writable fields, and ensure restricted attributes cannot be

introduced through alternate or bulk update paths.

Maintain authorization tests for protected fields, review adapter-specific

update behavior, apply deny-by-default policies, and include negative

permission tests in CI and security reviews.

Exploitation generally requires an authenticated user who already has permission

to update a document. The flaw can allow that user to exceed the intended

field-level permissions.

No. The described attack requires access to an authorized document-update

operation; whether additional roles or tenant restrictions apply depends on

the deployment's configuration.

Enforce field-level authorization immediately before persistence, use an

allowlist of writable fields, and ensure restricted attributes cannot be

introduced through alternate or bulk update paths.

Maintain authorization tests for protected fields, review adapter-specific

update behavior, apply deny-by-default policies, and include negative

permission tests in CI and security reviews.

Find out what's already
exploitable in your codebase.