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
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Lifecycle Timeline
3DescriptionCVE.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.
AnalysisAI
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.
Technical ContextAI
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.
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.
Privilege escalation to root in the LiteSpeed User-End cPanel Plugin (versions 2.3 through before 2.4.5) lets attackers
UAF in Redis 8.2.1 via crafted Lua scripts by authenticated users. EPSS 12.4%. Patch available.
It was discovered, that redis, a persistent key-value database, due to a packaging issue, is prone to a (Debian-specific
Memory Corruption was discovered in the cmsgpack library in the Lua subsystem in Redis before 3.2.12, 4.x before 4.0.10,
Redis is an open source, in-memory database that persists on disk. Versions 8.2.1 and below allow an authenticated user
Redis before 2.8.21 and 3.x before 3.0.2 allows remote attackers to execute arbitrary Lua bytecode via the eval command.
A buffer overflow in Redis 3.2.x prior to 3.2.4 causes arbitrary code execution when a crafted command is sent. Rated cr
Code injection in OneUptime monitoring via custom JS monitor using vm module. PoC and patch available.
In applications using jfinal 4.9.08 and below, there is a deserialization vulnerability when using redis,may be vulnerab
An issue was found in Apache Airflow versions 1.10.10 and below. Rated critical severity (CVSS 9.8), this vulnerability
An Integer Overflow issue was discovered in the struct library in the Lua subsystem in Redis before 3.2.12, 4.x before 4
goanother Another Redis Desktop Manager =<1.6.1 is vulnerable to Cross Site Scripting (XSS) via src/components/Setting.v
Same technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-48338