Authentication Bypass in APITable InternalUserController
APITable versions up to 1.13.0-beta.1 contain an authentication bypass vulnerability in the InternalUserController, allowing unauthenticated attackers to permanently delete user accounts currently in a cooling-off period.
CVE search metadata
CVE search record: CVE-2026-80208. Severity: high. CVSS: 8.2. KEV: no. Product: APITable. Brief: Authentication Bypass in APITable InternalUserController. Brief link: https://feed.craftedsignal.io/briefs/2026-08-apitable-auth-bypass/
APITable versions up to and including 1.13.0-beta.1 contain an authentication bypass vulnerability in the InternalUserController class. The endpoints getUserHistories and closePausedUserAccount are incorrectly annotated with requiredLogin = false. The application's ResourceInterceptor honors this annotation by skipping session or API key validation for these routes. Because the product's bundled nginx gateway proxies all /api requests to the backend, these sensitive administrative functions are exposed to any unauthenticated client with network access to the gateway. An attacker can exploit this to enumerate accounts awaiting permanent deletion and finalize the removal process, thereby bypassing the 30-day account recovery cooling-off period. This leads to irreversible data loss for targeted users.
Attack Chain
- Attacker performs network reconnaissance to identify an APITable instance reachable via HTTP/HTTPS.
- Attacker probes the
/api/v1/internal/path to determine if theInternalUserControllerendpoints are exposed without authentication. - Attacker sends a POST request to
/api/v1/internal/getUserHistoriesto retrieve a list of all user accounts currently in a 30-day cooling-off (deleted/paused) state. - Attacker parses the response to extract valid
userIdvalues for the identified target accounts. - Attacker iterates through the collected
userIdvalues. - Attacker sends a POST request to
/api/v1/internal/users/{userId}/closefor each identified account. - The backend processes the closure, clearing PII, canceling subscriptions, and deleting OAuth bindings.
- Account recovery is successfully prevented, resulting in permanent data destruction for the targeted user.
Impact
Successful exploitation results in the permanent loss of user accounts that are otherwise protected by a 30-day recovery window. This vulnerability impacts the integrity and availability of user data within the APITable platform. While the scope of impact depends on the number of accounts currently in the cooling-off period, unauthorized access to administrative internal APIs constitutes a critical breach of the platform's security boundary.
Recommendation
Prioritized, concrete actions for detection engineering teams:
- Implement monitoring on web server logs for HTTP POST requests to
/api/v1/internal/originating from untrusted or non-administrative source IPs. - Patch APITable to a version beyond 1.13.0-beta.1 that corrects the
requiredLoginannotation for theInternalUserController. - Restrict network access to the
/api/v1/internal/path at the nginx gateway or firewall level to ensure only authorized management IPs can access these administrative endpoints.
Immediate actions
Implement web server access control list (ACL) rules to restrict /api/v1/internal/ access
Mitigations
Upgrade APITable to a patched version beyond 1.13.0-beta.1
CVE-2026-80208
Detection coverage 1
Detect Exploitation of CVE-2026-80208 - Unauthorized Access to InternalUserController
highDetects unauthenticated access attempts to internal account management endpoints in APITable
Detection queries are available on the platform. Get full rules →