Description
APIFold reads an OpenAPI 3.x or Swagger 2.x specification and generates a live, production-ready MCP server endpoint. Prior to commit 7f19b52280f414f57af2b79a95333d1c8fbeece5, the `/webhooks/:serverSlug/:eventName` endpoint accepts arbitrary unauthenticated JSON and stores it in Redis and the `webhook_events` PostgreSQL table without any signature check or authentication requirement. The root cause is that `createWebhookRouter` is called at `server.ts:188` without a `validators` map, so `receivers.ts:80`'s optional-chaining guard evaluates to `undefined` and the signature-validation block (`receiver.ts:81–95`) is unconditionally skipped. Any unauthenticated network client that knows a valid server slug can inject arbitrary payloads, which are subsequently served as trusted resource state to legitimate MCP clients. Commit 7f19b52280f414f57af2b79a95333d1c8fbeece5 patches the issue.
Published: 2026-07-23
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

APIFold constructs an MCP server from an OpenAPI or Swagger specification and exposes the endpoint /webhooks/:serverSlug/:eventName. Prior to a specific commit, the handler accepts any JSON payload without performing signature validation or authentication, storing the data in Redis and a PostgreSQL table as if it had been generated by a legitimate client. This omission allows an attacker to craft and submit arbitrary event data that the server trusts, potentially altering configuration, triggering unintended actions, or revealing sensitive information. The vulnerability is rooted in the absence of authentication checks (CWE‑306).

Affected Systems

All installations of Work90210:APIFold deployed with a version or commit before 7f19b52280f414f57af2b79a95333d1c8fbeece5 are affected. The exact range of prior versions is unspecified, but any instance that generated its webhook router using the unpatched code path is vulnerable. No specific version numbers are listed in the advisory.

Risk and Exploitability

The CVSS score of 5.3 indicates a moderate severity. The EPSS score of less than 1% suggests that exploitation is currently rare, and the vulnerability is not reported in CISA's KEV catalog. The likely attack vector is an unauthenticated HTTP request to the webhook endpoint; exploitation requires knowledge of a valid server slug but no additional privileges. Because the payload is stored directly and later served to legitimate clients, an attacker can effectively impersonate a trusted event source. While the low EPSS implies limited current active exploitation, the potential impact justifies prompt remediation.

Generated by OpenCVE AI on August 3, 2026 at 21:11 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update APIFold to commit 7f19b52280f414f57af2b79a95333d1c8fbeece5 or later to enable signature validation on the webhook endpoint
  • Configure network or firewall rules to restrict access to the /webhooks/* path to trusted IP addresses or internal networks
  • Verify that the validators map is populated and the signature check code path is executed before payload acceptance
  • Monitor the webhook_events table and Redis for unexpected entries that may indicate injection attempts

Generated by OpenCVE AI on August 3, 2026 at 21:11 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 27 Jul 2026 13:15:00 +0000

Type Values Removed Values Added
First Time appeared Work90210
Work90210 apifold
Vendors & Products Work90210
Work90210 apifold

Thu, 23 Jul 2026 21:45:00 +0000

Type Values Removed Values Added
Description APIFold reads an OpenAPI 3.x or Swagger 2.x specification and generates a live, production-ready MCP server endpoint. Prior to commit 7f19b52280f414f57af2b79a95333d1c8fbeece5, the `/webhooks/:serverSlug/:eventName` endpoint accepts arbitrary unauthenticated JSON and stores it in Redis and the `webhook_events` PostgreSQL table without any signature check or authentication requirement. The root cause is that `createWebhookRouter` is called at `server.ts:188` without a `validators` map, so `receivers.ts:80`'s optional-chaining guard evaluates to `undefined` and the signature-validation block (`receiver.ts:81–95`) is unconditionally skipped. Any unauthenticated network client that knows a valid server slug can inject arbitrary payloads, which are subsequently served as trusted resource state to legitimate MCP clients. Commit 7f19b52280f414f57af2b79a95333d1c8fbeece5 patches the issue.
Title APIFold Vulnerable to Unauthenticated Webhook Event Injection
Weaknesses CWE-306
References
Metrics cvssV3_1

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

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Subscriptions

Work90210 Apifold
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-23T18:14:38.774Z

Reserved: 2026-05-19T22:36:16.882Z

Link: CVE-2026-47769

cve-icon Vulnrichment

Updated: 2026-07-23T18:14:34.838Z

cve-icon NVD

Status : Deferred

Published: 2026-07-23T18:16:53.920

Modified: 2026-07-23T19:16:54.427

Link: CVE-2026-47769

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T21:15:04Z

Weaknesses
  • CWE-306

    Missing Authentication for Critical Function