Skip to main content

APIFold CVE-2026-47769

| EUVDEUVD-2026-48338 MEDIUM
Missing Authentication for Critical Function (CWE-306)
2026-07-23 GitHub_M
5.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify exposed APIFold deployment
  2. Delivery
    Enumerate or guess valid serverSlug
  3. Exploit
    POST crafted JSON to /webhooks/<slug>/<eventName> with no authentication
  4. Execution
    Payload persisted to Redis and PostgreSQL webhook_events table
  5. Persist
    Poisoned data served as trusted state to MCP clients
  6. Impact
    AI 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 /webhooks/:serverSlug/:eventName HTTP endpoint and knowledge of at least one valid serverSlug configured on the target instance. No authentication, HMAC signature, API key, or special HTTP header is required - signature validation was architecturally absent in all pre-patch versions regardless of server configuration. The slug requirement is the sole limiting factor: if slugs follow a predictable pattern or are disclosed in client-side code, API responses, or documentation, this barrier is effectively zero. Exploitation is bounded to the integrity dimension; the CVSS vector (PR:N, UI:N) confirms no user interaction or privileges are needed. Confidentiality of existing stored data is not directly exposed, and there is no availability impact.

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 serverSlug; if slugs are predictable or exposed via API documentation, this is a negligible barrier. The fix exists only as a commit hash (not a tagged release), meaning operators must manually pin to or beyond commit 7f19b52, creating deployment risk. CVSS vector alignment with description is consistent - no conflicts identified.

Exploit ScenarioDerived

An attacker identifies an APIFold deployment (e.g., via Shodan or API documentation), enumerates or guesses a valid serverSlug, and sends an unauthenticated POST request with a crafted JSON body to /webhooks/<slug>/order.created. The payload is written to Redis and the webhook_events PostgreSQL table without any signature check, and is subsequently returned as trusted event data to MCP clients, allowing the attacker to inject fabricated order confirmations, tool outputs, or instructions into AI agent workflows. No exploit code has been publicly released, but the vulnerability is trivially reproducible from the public description.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

APIFold < 7f19b52280f414f57af2b79a95333d1c8fbeece5

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

Vendor (GitHub_M) PRIMARY 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
vuln.today AI 5.3 MEDIUM

Network-accessible endpoint with no auth or interaction required; scope unchanged as impact is confined to the webhook datastore within the same system boundary.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

Lifecycle Timeline

1
Patch available
Jul 23, 2026 - 19:03 EUVD

DescriptionCVE.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

EPSS Score
0.4%
Top 71% exploitable
Prevalence
Rare
niche MCP server generator tool, limited enterprise deployment footprint
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy