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: n/a
KEV: No
Impact: n/a
Action: n/a
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 10:50 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 10:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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-04T09:40:18.120Z

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

Link: CVE-2026-84504

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

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

Link: CVE-2026-84504

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-04T11:00:11Z

Weaknesses
  • CWE-20

    Improper Input Validation