Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify exposed APIFold deployment
-
DeliveryEnumerate or guess valid serverSlug
-
ExploitPOST crafted JSON to /webhooks/<slug>/<eventName> with no authentication
-
ExecutionPayload persisted to Redis and PostgreSQL webhook_events table
-
PersistPoisoned data served as trusted state to MCP clients
-
ImpactAI agent workflows act on attacker-controlled event data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires network access to the APIFold |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N, score 5.3 Medium) accurately captures the network-accessible, zero-complexity, unauthenticated attack surface but materially understates functional severity: injected payloads are consumed as authoritative event state by downstream MCP clients, enabling semantic poisoning of AI agent tool outputs beyond what 'I:L' implies. No EPSS score was supplied in the intelligence data, so exploitation probability cannot be quantitatively assessed. KEV status is not confirmed, and no active exploitation has been declared. The primary friction for attackers is enumerating a valid |
| Exploit ScenarioDerived | An attacker identifies an APIFold deployment (e.g., via Shodan or API documentation), enumerates or guesses a valid |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 23, 2026
Unauthenticated webhook injection in APIFold corrupts trusted MCP server state by allowing any network client to POST arbitrary JSON payloads to the /webhooks/:serverSlug/:eventName endpoint, which are stored in Redis and the webhook_events PostgreSQL table without any signature check. All deployments prior to commit 7f19b52280f414f57af2b79a95333d1c8fbeece5 are affected; the flaw is architectural rather than misconfiguration-dependent, as signature validation was never wired into the webhook router. No public exploit code has been identified at time of analysis and CISA KEV listing is absent, but the attack requires only a valid server slug, making exploitation straightforward for targeted actors.
RemediationAI
Update to or beyond commit 7f19b52280f414f57af2b79a95333d1c8fbeece5 (PR #235: https://github.com/Work90210/APIFold/pull/235). After applying the patch, configure each server record with a webhookProvider and a strong encryptedWebhookSecret; the runtime will then enforce HMAC-SHA256 signature verification on all inbound webhook requests via the x-webhook-signature header. If immediate patching is not feasible, place a reverse proxy or WAF rule in front of all /webhooks/ paths that rejects requests lacking a valid HMAC signature - be aware this requires the proxy to share the webhook secret and adds operational complexity. Alternatively, restrict network access to the /webhooks/:serverSlug/:eventName endpoints to known source IP ranges of legitimate webhook providers; note this control is bypassable if the attacker can reach the endpoint from an allowlisted network. No versioned release artifact has been confirmed as of this analysis - operators should track the upstream repository for a tagged release.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
APIFold is a Node.js runtime that converts OpenAPI 3.x or Swagger 2.x specifications into live MCP (Model Context Protocol) server endpoints. The root cause is CWE-306 (Missing Authentication for Critical Function): createWebhookRouter is invoked at server.ts:188 without a validators map argument. The optional-chaining guard at receivers.ts:80 consequently evaluates to undefined, causing the HMAC signature validation block at receiver.ts:81-95 to be unconditionally skipped on every incoming webhook request. The affected CPE is cpe:2.3:a:work90210:apifold:*:*:*:*:*:*:*:* (all versions before the patch commit). The fix introduced in PR #235 adds GenericHmacValidator using HMAC-SHA256 keyed to a per-server encryptedWebhookSecret, passes a populated webhookValidators Map to createWebhookRouter, and enforces the x-webhook-signature header on all inbound webhook requests, as confirmed by the integration test changes in streamable-http.test.ts.
Know when Apifold gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Network-accessible endpoint with no auth or interaction required; scope unchanged as impact is confined to the webhook datastore within the same system boundary.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-48338
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB