Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Network-reachable API with a read-level key (PR:L), no UI, straightforward injection (AC:L); impact limited to cross-tenant analytics disclosure, so C:H and I:N/A:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Cap-go before 12.128.2 contains multiple SQL injection vulnerabilities in cloudflare.ts where user-controlled values from API request bodies are interpolated directly into SQL query strings without sanitization or parameterization. Authenticated users with read-level API key permissions can inject arbitrary SQL through deviceIds, search, version_name, cursor, and actions parameters to access analytics data belonging to other users or applications.
AnalysisAI
SQL injection in Capgo (cap-go) before 12.128.2 allows authenticated users with read-level API keys to access analytics data belonging to other tenants by injecting arbitrary SQL through multiple unparameterized parameters in cloudflare.ts. The flaw stems from direct string interpolation of request-body values into Cloudflare Analytics Engine queries, enabling cross-tenant data exposure. No public exploit identified at time of analysis, though a VulnCheck advisory and an upstream GitHub Security Advisory document the issue.
Technical ContextAI
Capgo is an open-source live-update and OTA delivery platform for Capacitor mobile apps, with a backend that proxies analytics queries through Cloudflare Workers. The vulnerable cloudflare.ts module constructs SQL strings sent to Cloudflare Analytics Engine by concatenating user-supplied fields (deviceIds, search, version_name, cursor, actions) directly into the query, the textbook CWE-89 anti-pattern. Because the Analytics Engine SQL dialect does not enforce row-level tenant isolation by itself - the application relies on WHERE clauses to scope per-user data - injecting additional SQL syntax lets an attacker rewrite or extend those predicates and read other tenants' rows. CPE cpe:2.3:a:cap-go:capgo:*:*:*:*:*:*:*:* covers all Capgo versions prior to the fix.
RemediationAI
Vendor-released patch: upgrade Capgo to 12.128.2 or later, which addresses the SQL injection in cloudflare.ts per GHSA-f83x-p28r-pf74 (https://github.com/Cap-go/capgo/security/advisories/GHSA-f83x-p28r-pf74). Until the upgrade is deployed, operators should rotate or revoke read-level API keys held by untrusted tenants to shrink the population of accounts able to reach the vulnerable endpoints, and place a WAF or reverse-proxy rule in front of the analytics API to reject request bodies in which deviceIds, search, version_name, cursor, or actions contain SQL meta-characters such as quotes, semicolons, or comment sequences - accepting that this will break legitimate searches containing those characters. Multi-tenant SaaS operators should additionally audit Cloudflare Analytics Engine query logs for anomalous WHERE-clause patterns indicating prior cross-tenant access, and reference the VulnCheck write-up at https://www.vulncheck.com/advisories/cap-go-sql-injection-in-cloudflare-analytics-engine-queries-via-cloudflare-ts for indicators.
Authentication bypass in Capgo before 12.128.2 lets remote unauthenticated attackers mint arbitrary API keys by tamperin
Cross-domain SSO account takeover in Capgo before 12.128.2 allows an attacker with enterprise org admin access and a mal
Account pre-registration hijack in Capgo before 12.128.2 lets a remote unauthenticated attacker claim an account under a
Authentication bypass in Capgo prior to version 12.128.2 lets attackers defeat email-based OTP verification by tampering
Rate-limit bypass in Capgo versions prior to 12.128.2 lets remote unauthenticated attackers flood the channel_self endpo
Cross-tenant data poisoning in Supabase Capgo before 12.128.2 allows remote unauthenticated attackers to corrupt billing
Server-side privilege escalation in Capgo before 12.128.2 lets authenticated users holding build permissions abuse a pat
Unauthenticated information disclosure in Capgo before 12.128.2 lets remote attackers query the /functions/v1/channel_se
Account takeover in Capgo before 12.128.2 stems from a password-change endpoint that omits current-password validation (
Information disclosure in Capgo (Capacitor live-update/OTA platform) before 12.128.2 lets unauthenticated callers abuse
Unauthenticated information disclosure in Capgo before 12.128.2 lets remote attackers read organization RBAC role bindin
Cross-tenant authorization bypass in Capgo before 12.128.2 lets authenticated users impersonate another tenant's limited
Same weakness CWE-89 – SQL Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-38364