Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify target user ID
-
DeliverySend unauthenticated POST to /api/v1/internal/notification/create
-
ExploitResourceInterceptor skips auth via requiredLogin=false annotation
-
ExecutionBackend writes crafted message with fromUserId=0
-
ImpactVictim receives system-attributed notification in inbox
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 | No authentication is required - the CVSS 4.0 vector PR:N confirms unauthenticated exploitation. The sole condition is network reachability to the APITable nginx gateway on its configured HTTP/HTTPS port, which in standard deployments is internet-facing or intranet-wide. No non-default configuration is needed: the requiredLogin = false annotation is present in the default codebase and the nginx proxy-pass rule covering /api/* is part of the shipped gateway configuration. The only exploitation limit is that the attacker must supply a valid registered user ID as the notification target; if user ID enumeration is not possible, the attacker is limited to known or guessed IDs (e.g., ID 1 for the first registered admin). There is no user interaction required on the victim's side for the notification to be stored; the victim need only open their inbox to view it. |
| Impact | The CVSS 4.0 score of 6.9 with vector AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N accurately reflects a low-complexity, unauthenticated network attack with constrained direct impact (integrity only, no data exfiltration). The integrity impact is scored Low in the CVSS model, but the real-world social-engineering potential - injecting system-attributed messages to any user - may exceed what VI:L conveys, particularly in deployments where users trust system notifications for account actions or credential prompts. No KEV listing is present, meaning active exploitation has not been confirmed by CISA; no public POC code is identified, though the vulnerability is publicly documented in GitHub issue #1813 and the VulnCheck advisory, making reproduction straightforward for any researcher. EPSS data is not provided in the input; the combination of unauthenticated network access, low complexity, and public disclosure description suggests a moderate-to-elevated exploitation probability over time. The verbatim storage of extras content forwarded to the frontend is a notable secondary signal: if the frontend lacks output encoding, the effective impact could escalate to stored XSS (C:L/I:H territory), but this is inferred from the description and not confirmed by the CVE. The CVSS vector is internally consistent with the description - no conflicts detected. |
| Exploit ScenarioDerived | An external attacker who can reach the APITable nginx gateway sends a crafted POST request to /api/v1/internal/notification/create with an arbitrary target user ID, a compelling message body, and fromUserId set to 0. Because ResourceInterceptor skips validation for the requiredLogin = false handler, the message is written to apitable_player_notification and appears in the victim's inbox attributed to the system sender - indistinguishable from legitimate platform alerts such as password reset prompts or admin notices. No authentication, credentials, or prior system access are required; the attack is automatable and can target all registered users by iterating over user IDs. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 27, 2026
Unauthenticated notification injection in APITable through 1.13.0-beta.1 permits any network-reachable client to write arbitrary messages into any user's inbox by exploiting a missing-authentication annotation on the internal notification create endpoint. The InternalNotifyController marks its create handler with requiredLogin = false, causing ResourceInterceptor to skip all session and API key validation; because the nginx gateway bundled with the product proxies every /api path to the Java backend, the endpoint POST /api/v1/internal/notification/create is fully exposed to unauthenticated callers. Setting fromUserId to 0 makes injected messages render as legitimate system notifications, enabling platform-wide social-engineering attacks; no public exploit code has been identified at time of analysis, though the flaw is documented in a public GitHub issue (no KEV listing).
RemediationAI
No vendor-released patch version has been identified at time of analysis; the fix has not been confirmed as a tagged release - the upstream issue is tracked at https://github.com/apitable/apitable/issues/1813. Until a patched release is available, operators should apply network-layer controls to block unauthenticated external access to the /api/v1/internal/notification/create path: configure the nginx gateway to deny requests to that specific path from any source outside the trusted internal network (e.g., using an nginx allow/deny block or a WAF rule targeting the URI), which limits exploitation to attackers who have already compromised an internal host. As an alternative, operators who can modify the backend source at commit 88b24ce can change the requiredLogin annotation on the InternalNotifyController create handler to true, but this requires rebuilding and redeploying the backend image. Note that blocking the endpoint at nginx does not address the root-cause annotation; if any future code path reintroduces the route under a different URI, the vulnerability would recur. Monitor the GitHub issue and VulnCheck advisory for an official patched release.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
APITable is a Java Spring-based open-source collaborative database and spreadsheet platform. The affected component is InternalNotifyController, located at backend-server/application/src/main/java/com/apitable/internal/controller/InternalNotifyController.java (line 50 per the referenced commit 88b24ce). The create handler carries the annotation requiredLogin = false, which is honoured by ResourceInterceptor: when that annotation is present the interceptor returns early, bypassing all session token and API key validation before the request reaches controller logic. The nginx gateway shipped with APITable proxies all /api/* paths to the backend with no additional network-layer access controls differentiating 'internal' from 'public' routes. Writes land in the apitable_player_notification table; the extras field is stored verbatim and forwarded to the frontend renderer, raising a secondary risk of stored XSS if the frontend does not sanitize the content. CWE-306 (Missing Authentication for Critical Function) is the root cause: an endpoint with write access to multi-user notification state carries no authentication gate. CPE cpe:2.3:a:apitable:apitable:*:*:*:*:*:*:*:* covers all versions through 1.13.0-beta.1.
Know when Apitable 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Network-reachable, no credentials required (PR:N per annotation bypass); integrity impact is low (notification injection only), no confidentiality or availability impact confirmed.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
APITable through 1.13.0-beta.1 annotates the create handler of InternalNotifyController with requiredLogin = false. ResourceInterceptor honours that annotation by returning before any session or API key is validated, and the nginx gateway shipped with the product proxies every /api request to the backend server, so POST /api/v1/internal/notification/create is reachable by any unauthenticated client that can reach the gateway. An attacker can persist arbitrary notifications in apitable_player_notification against any user ID they name, and because fromUserId can be set to 0 the message is stored with the system sender and renders in the victim's inbox as a legitimate system notification. The body extras content is stored verbatim and forwarded to the frontend.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Unauthenticated remote destruction of pending-deletion accounts is possible in APITable through 1.13.0-beta.1, where two
Unauthenticated access to the internal organization loadOrSearch endpoint in APITable through 1.13.0-beta.1 exposes comp
Cross-space information disclosure in APITable through 1.14.0-beta lets any authenticated, low-privileged user read node
EUVD-2026-67141
GHSA-7cw6-9v6g-p6m5
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB