Description
fastify versions before 5.12.2 treat the object resolved by a successful Ajv async validator as the value result protocol used by custom validator compilers. If a request that passes its route schema contains a property named value at the root, fastify replaces the entire request body with that property's value before the handler runs, so the handler receives a different object than the one that satisfied the schema. An authenticated low-privilege caller can use this to make nested data replace the validated body and trigger an operation the route schema did not authorize, leading to unauthorized state changes and data disclosure. Users should upgrade to fastify 5.12.2 or later.
Published: 2026-09-04
Score: 8.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Unauthorized state changes and data disclosure
Action: Patch Immediately
AI Analysis

Impact

Fastify versions before 5.12.2 incorrectly treat the object returned by a successful asynchronous Ajv validator as the result of a custom validator compiler. If the validated request body contains a root property named "value", Fastify replaces the entire body with that property's value before executing the route handler. The handler then operates on a different object than the one that satisfied the schema, allowing an authenticated low‑privilege caller to inject nested data that the route schema did not anticipate. This can lead to unauthorized modifications to application state and the disclosure of sensitive information.

Affected Systems

All releases of the Fastify HTTP framework for Node.js that precede version 5.12.2, particularly applications that use Fastify with asynchronous Ajv validation. The regression exists across every route that relies on custom validators and is removed by upgrading to Fastify 5.12.2 or later.

Risk and Exploitability

The CVSS score of 8.1 indicates high severity, and the vulnerability is not listed in CISA KEV. EPSS data is not available. An attacker who has low‑privilege authentication can craft a request that satisfies the route schema yet contains a top‑level "value" property; the resulting body replacement occurs before the route handler runs, enabling the attacker to trigger unintended operations. No additional privilege escalation is required beyond normal authentication, but the impact on confidentiality, integrity, or availability can be significant if the affected route performs privileged actions.

Generated by OpenCVE AI on September 4, 2026 at 13:27 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Fastify to version 5.12.2 or later.
  • Add middleware that rejects any incoming request body containing a top‑level property named "value" before the route handler processes it.
  • Audit all routes using asynchronous Ajv validation to ensure their schemas do not expose the "value" property and that no custom validator compilers are improperly handling resolved objects.

Generated by OpenCVE AI on September 4, 2026 at 13:27 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 15 Sep 2026 20:15:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:fastify:fastify:*:*:*:*:*:node.js:*:*

Fri, 04 Sep 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Fri, 04 Sep 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-179
References
Metrics threat_severity

None

threat_severity

Important


Fri, 04 Sep 2026 10:45:00 +0000

Type Values Removed Values Added
First Time appeared Fastify
Fastify fastify
Vendors & Products Fastify
Fastify fastify

Fri, 04 Sep 2026 09:45:00 +0000

Type Values Removed Values Added
Description fastify versions before 5.12.2 treat the object resolved by a successful Ajv async validator as the value result protocol used by custom validator compilers. If a request that passes its route schema contains a property named value at the root, fastify replaces the entire request body with that property's value before the handler runs, so the handler receives a different object than the one that satisfied the schema. An authenticated low-privilege caller can use this to make nested data replace the validated body and trigger an operation the route schema did not authorize, leading to unauthorized state changes and data disclosure. Users should upgrade to fastify 5.12.2 or later.
Title fastify vulnerable to request body replacement via an async validation result collision
Weaknesses CWE-20
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: openjs

Published:

Updated: 2026-09-04T16:34:58.664Z

Reserved: 2026-09-01T21:10:05.765Z

Link: CVE-2026-84504

cve-icon Vulnrichment

Updated: 2026-09-04T16:34:53.741Z

cve-icon NVD

Status : Analyzed

Published: 2026-09-04T10:17:13.790

Modified: 2026-09-15T20:05:15.050

Link: CVE-2026-84504

cve-icon Redhat

Severity : Important

Publid Date: 2026-09-04T09:40:18Z

Links: CVE-2026-84504 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-04T13:30:05Z

Weaknesses
  • CWE-179

    Incorrect Behavior Order: Early Validation

  • CWE-20

    Improper Input Validation