{"answers":{"affected":"","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-47769 exists.","fix":"No fix has been published for CVE-2026-47769 yet. Limit exposure of the affected software until one is available.","what":"CVE-2026-47769 is a medium-severity missing authorization vulnerability in Work90210 APIFold, published on 23 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-47769 and fix it if it is affected.\n\nWhat it is: CVE-2026-47769 is a medium-severity missing authorization vulnerability in Work90210 APIFold, published on 23 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-47769 exists.\n\nAffected product: Work90210 APIFold. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-47769/ (Markdown: https://insights.sbomify.com/CVE-2026-47769/index.md)","id":"CVE-2026-47769","markdown":"https://insights.sbomify.com/CVE-2026-47769/index.md","name":"CVE-2026-47769","record":{"aliases":["GHSA-x82h-9r8v-m672"],"analysis":{"component_type":"server_software","fix_type":"patch","impacts":["data_modify","security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"APIFold MCP server","requires_auth":"none","summary":"Unauthenticated attackers can inject arbitrary webhook events into APIFold, modifying trusted resource state served to legitimate clients.","user_interaction":"not_required","vuln_class":"missing_authorization"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":5.3,"severity":"medium","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","version":"3.1"},"cwes":[{"id":"CWE-306","name":"Missing Authentication for Critical Functionality"}],"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.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":false,"headline":"APIFold Vulnerable to Unauthenticated Webhook Event Injection","id":"CVE-2026-47769","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"missing_authorization","year":"2026"},"n_packages":0,"n_references":3,"next":{"headline":"jq: stack overflow in deep structural equality","id":"CVE-2026-47770"},"packages":[],"prev":{"headline":"nebula-mesh: Newly-minted operator API key exposed in redirect URL (Referer, history, proxy logs)","id":"CVE-2026-47768"},"products":["APIFold"],"published":"2026-07-23","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-07-23","vendors":["Work90210"]},"summary":"Unauthenticated attackers can inject arbitrary webhook events into APIFold, modifying trusted resource state served to legitimate clients.","url":"https://insights.sbomify.com/CVE-2026-47769/"}