Description
fastify is a fast and low overhead web framework for Node.js. Versions of fastify before 5.12.1 are affected by a schema validation bypass when a request body schema targets a root primitive value. When the schema validates a top-level primitive such as an integer, Ajv can coerce a JSON string into the expected type during validation, but Fastify does not replace the root request body with the coerced value, so the route handler receives the original unvalidated string. As a result, a request that should have failed validation can reach application logic with a value that does not satisfy the schema, which can undermine integrity and access-control checks that rely on the validated type. Users should upgrade to fastify 5.12.1, which fixes the mismatch. No known workarounds are available.
Published: 2026-08-18
Score: 5.4 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A schema validation bypass vulnerability in Fastify allows a request body that targets a root primitive type (e.g., integer) to be validated by Ajv and coerced from a string, but Fastify does not replace the original request body with the coerced value. The handler therefore receives the unvalidated string, enabling an attacker to supply data that does not meet the defined schema. This undermines the integrity of the data processed by the application and can allow access‑control checks that rely on the validated type to be bypassed, potentially leading to unauthorized actions.

Affected Systems

The Fastify web framework for Node.js is affected. All releases prior to 5.12.1 are vulnerable. Users running these versions should consider the product legacy or upgrade path as indicated by the vendor.

Risk and Exploitability

The CVSS score is 5.4, indicating a moderate severity. The EPSS score is not available, so exploitation likelihood cannot be quantified precisely, and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is an HTTP request that includes a string payload matching the expected primitive type; the request bypasses validation and reaches application logic. Because no workaround exists, the risk is mitigated only by applying the vendor’s patch.

Generated by OpenCVE AI on August 18, 2026 at 21:17 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Fastify to version 5.12.1 or later
  • Confirm that all route schemas targeting root primitives are validated correctly in the new version
  • Re‑run functional and security tests to verify that unvalidated data can no longer reach application logic

Generated by OpenCVE AI on August 18, 2026 at 21:17 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 18 Aug 2026 21:45:00 +0000

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

Tue, 18 Aug 2026 20:45:00 +0000

Type Values Removed Values Added
Description fastify is a fast and low overhead web framework for Node.js. Versions of fastify before 5.12.1 are affected by a schema validation bypass when a request body schema targets a root primitive value. When the schema validates a top-level primitive such as an integer, Ajv can coerce a JSON string into the expected type during validation, but Fastify does not replace the root request body with the coerced value, so the route handler receives the original unvalidated string. As a result, a request that should have failed validation can reach application logic with a value that does not satisfy the schema, which can undermine integrity and access-control checks that rely on the validated type. Users should upgrade to fastify 5.12.1, which fixes the mismatch. No known workarounds are available.
Title fastify vulnerable to schema validation bypass via root primitive coercion mismatch
Weaknesses CWE-20
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: openjs

Published:

Updated: 2026-08-18T20:19:12.611Z

Reserved: 2026-07-31T16:51:18.092Z

Link: CVE-2026-18504

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-18T21:16:34.220

Modified: 2026-08-18T21:16:34.220

Link: CVE-2026-18504

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T21:30:04Z

Weaknesses
  • CWE-20

    Improper Input Validation