Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/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 IDOR needing only a low-privileged account (PR:L, AC:L, UI:N); token theft plus robot modify/delete give C:H/I:H/A:H; scope kept U to match the official 4.0 SC/SI/SA:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Maxun before 0.0.42 contains a cross-tenant insecure direct object reference vulnerability in storage and webhook API handlers that allows authenticated users to access other users' robots and OAuth tokens. Attackers can read plaintext Google and Airtable access tokens, modify, delete, or execute other users' robots by bypassing ownership checks in API endpoints.
AnalysisAI
Cross-tenant access in Maxun (the open-source no-code web data extraction/scraping platform) before 0.0.42 allows any authenticated user to read, modify, delete, or run other tenants' robots and to exfiltrate their plaintext Google and Airtable OAuth access tokens by abusing storage and webhook API handlers that never check resource ownership. The flaw stems from API endpoints querying robots by ID alone (e.g. Robot.findAll() with no userId scope), so a low-privileged account on a shared/multi-tenant instance can pivot across the entire tenant base. There is no public exploit identified at time of analysis and it is not listed in CISA KEV, but the upstream fix is committed and the trivial nature of an IDOR makes it readily reproducible.
Technical ContextAI
Maxun is a TypeScript/Node.js (Express + Sequelize ORM) application that lets users build 'robots' to scrape websites and connect third-party integrations such as Google and Airtable via OAuth. The CPE cpe:2.3:a:getmaxun:maxun confirms the affected product is getmaxun/maxun. The root cause class is CWE-862 (Missing Authorization): the storage handlers in server/src/api/record.ts and the SDK/webhook handlers in server/src/api/sdk.ts authenticate the caller via requireAPIKey but then look up robots and runs solely by 'recording_meta.id' (or even Robot.findAll() with no filter at all), never constraining the query to the requesting user's id. Because OAuth access tokens for connected integrations are stored alongside robot data and returned in plaintext, the authorization gap directly exposes Google and Airtable credentials in addition to robot definitions and run data.
RemediationAI
Upgrade to Maxun 0.0.42 or later, which is the vendor-released patch (PR #1088 / commit 11db0257531f1c23dec94727793c9444ee2873cf) that adds explicit req.user checks and scopes every robot/run query with userId in both server/src/api/record.ts and server/src/api/sdk.ts. If you cannot patch immediately, reduce exposure by treating the instance as single-tenant: restrict the application to a single trusted user or organization, and avoid issuing accounts/API keys to untrusted parties, since exploitation requires only a low-privileged authenticated account (this trade-off eliminates multi-tenant use). Additionally, proactively rotate and re-scope any Google and Airtable OAuth tokens connected to the instance, because they may already have been readable in plaintext to other tenants (side effect: connected integrations must be re-authorized), and restrict network access to the storage/webhook and /sdk/robots API endpoints to trusted clients only. Refer to the VulnCheck advisory (https://www.vulncheck.com/advisories/maxun-cross-tenant-idor-in-storage-and-webhook-api-handlers) for details.
Use of hard-coded cryptographic keys in getmaxun maxun up to version 0.0.28 allows remote unauthenticated attackers to m
Improper authorization in getmaxun maxun up to version 0.0.28 allows authenticated remote attackers to access unauthoriz
Same weakness CWE-862 – Missing Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39517
GHSA-44p3-ph5c-h5h3