Baserow dispatches an Application Builder data source without acting on the result of its permission check. The dispatch and record-name views in backend/src/baserow/contrib/builder/api/data_sources/views.py are declared with a permission class that admits any caller, so a request carrying no credential reaches the handler. DataSourceService.dispatch_data_sources in backend/src/baserow/contrib/builder/data_sources/service.py then calls check_multiple_permissions without asking it to raise, and neither stores nor examines the mapping of denials it returns, so a denied check leaves execution to continue and the data source is dispatched whatever the caller's identity. The dispatch runs with the integration's own credentials, so an unauthenticated request naming a data source receives the rows and fields that source reads. Identifiers are small integers and can be enumerated. Version 2.3.1 passes raise_exception to the same call.
References
Configurations
No configuration.
History
No history.
Information
Published : 2026-08-27 17:20
Updated : 2026-08-27 20:18
NVD link : CVE-2026-81335
Mitre link : CVE-2026-81335
CVE.ORG link : CVE-2026-81335
JSON object : View
Products Affected
No product.
CWE
CWE-862
Missing Authorization
