VORANT. Threat Intelligence Research Create a free account

Adalo no-code platform exposes all user data

Published Vorant ratingroutine vulnerability Technology

Vorant's rating weighs the evidence in the report: confirmed exploitation, victims claimed, CVSS and EPSS, and how many sources agree. It rates the report, not your assets.

Platform-level flaws in Adalo's no-code app builder let authenticated users pull full user records from any Adalo application via broken authorization and long-lived JWTs.

Sourcekb.cert.org — open the original

What to check

Applies to
The 2 CVEs named below. Whether you run an affected version is not assessed: check the versions the source lists.
Exploitation
No exploitation in the wild and no public exploit is recorded for the CVEs named.

Adalo, a SaaS no-code application platform, contains two platform-wide vulnerabilities that undermine the tenant isolation model it relies on. CVE-2026-10706 stems from the database API returning complete user records for any list component request rather than only the fields configured for display, because the backend lacks ownership-aware, server-side authorization checks. This allows authenticated users of one application to enumerate database and table identifiers belonging to other applications and pull full records, an issue worsened by a permissive CORS policy, plaintext file storage, and indications that deleted records may remain retrievable.

CVE-2026-10708 compounds this by exposing long-lived JWT tokens (valid ~20 days) in client-side requests. Because Adalo's API accepts requests from any origin and tokens are not revoked, a single token harvested from any visitor session can be reused externally to script automated, large-scale extraction of user data — including emails, UUIDs, and custom fields — without further interaction with the target application.

Both issues affect all Adalo-built applications across V1 and V2, reportedly over one million apps, and cannot be remediated by individual developers since the flaws exist at the platform level. Adalo has acknowledged the issues but has not yet released a patch; CERT/CC recommends tenants avoid storing sensitive data in Adalo collections and monitor for phishing or identity-theft attempts stemming from potential data exposure.

Mentioned in this report

Vulnerabilities CVE-2026-10706CVE-2026-10708

Detection guidance

Adalo API Access via Non-Browser HTTP Client (Automated Data Extraction)

ATT&CK T1552 · status experimental · needs proxy logs · generated from the report, not run against telemetry

A behavioural hunt for the technique in general, not a signature for the CVEs this report names.

Detects Adalo platform API requests carrying Bearer/JWT authorization headers from non-browser HTTP client User-Agents (scripting/automation libraries), consistent with harvested long-lived JWT tokens being replayed outside the originating application for bulk data extraction (CVE-2026-10708). Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.

title: Adalo API Access via Non-Browser HTTP Client (Automated Data Extraction)
id: 699403db-0509-5b6c-adbe-49c5d8af3a2f
status: experimental
logsource:
  category: proxy
detection:
  selection_host:
    r-dns|contains:
    - adalo.com
    - api.adalo.com
  selection_auth:
    c-uri|contains: /api/
  selection_ua:
    c-useragent|contains:
    - python-requests
    - curl/
    - Go-http-client
    - PostmanRuntime
    - axios/
    - okhttp
    - Scrapy
  filter_browser:
    c-useragent|contains:
    - Mozilla/
    - Chrome/
    - Safari/
  condition: selection_host and selection_auth and selection_ua and not filter_browser
falsepositives:
- Legitimate server-to-server integrations or automated QA/monitoring scripts calling
  the Adalo API with an authorized service token
- Internal automation pipelines that legitimately call Adalo REST endpoints programmatically
level: medium
tags:
- attack.t1552
- attack.t1078
- attack.t1213
author: Vorant

Cross-Tenant Enumeration of Adalo Database and Table Identifiers

ATT&CK T1213 · status experimental · needs proxy logs · generated from the report, not run against telemetry

A behavioural hunt for the technique in general, not a signature for the CVEs this report names.

Detects requests to Adalo list-component/database API endpoints referencing sequential or varying database_id/table_id parameters from the same client, indicating enumeration of other tenants' collections due to missing ownership-aware authorization checks (CVE-2026-10706). Investigate for sustained high-volume requests with changing identifiers over a short window as a strong indicator of active exfiltration. Auto-generated starting point — validate and tune in your environment before deploying. IOC matches can false-positive on shared infrastructure and decay as adversary infrastructure rotates.

title: Cross-Tenant Enumeration of Adalo Database and Table Identifiers
id: 5707a2d8-2ed6-5c3a-9da8-830fab7f7bc0
status: experimental
logsource:
  category: proxy
detection:
  selection_host:
    r-dns|contains:
    - adalo.com
    - api.adalo.com
  selection_endpoint:
    c-uri|contains:
    - /collections/
    - /database
    - /table
    - /records
  selection_method:
    cs-method: GET
  condition: selection_host and selection_endpoint and selection_method
falsepositives:
- Normal application runtime traffic where the app's own list components repeatedly
  query their configured database/table endpoints
- Load testing or QA automation exercising the Adalo API against a single application's
  own collections
level: low
tags:
- attack.t1213
- attack.t1552
author: Vorant

Behavioural rules are generated from public reporting — validate in your environment before deploying.

Source reporting: https://kb.cert.org/vuls/id/849433

Free public brief. The detections with Splunk SPL already written (plus Elastic and KQL where they apply) are in the app with a free account, no card. Slack alerts on the vendors you run come with the paid plans, and a new account gets three days of them.

What this brief leaves out

This page is the free tier: the write-up, the severity, the names. In the app the same report carries its detections (Splunk SPL already written, plus Elastic and Microsoft KQL where they apply) and live profiles of the CVEs it names. The paid plans add the security research and news reporting the free tier leaves out.

It sits in a corpus of 16,433 reports from 149 sources, 661 of them written in the last seven days, and it grows through the day.

A new account starts with three days of all of it, no card, then keeps the government and CERT reporting free. Slack alerts are a paid-plan feature: name the vendors you run and Slack hears about the reports that touch them, not the rest of the week's. Nothing is charged unless you subscribe.

Create a free account   What it costs