Impact
Several saved exploration RPC methods operated on an exploration_id without verifying that the requesting user was a collaborator on the exploration’s database.
An authenticated user on the same Mathesar installation who knew or guessed an exploration ID could read, replace, or delete a saved exploration belonging to a database where they were not a collaborator.
This affected Mathesar-managed saved exploration definitions, including names, descriptions, selected columns, display metadata, filters, sorting, and transformations. It did not grant collaborator access, expose database credentials, allow access to underlying PostgreSQL table data, or bypass PostgreSQL permissions.
The issue also did not allow an unauthorized user to run an exploration and read query results unless they separately had database access through Mathesar’s database connection checks.
Affected RPC methods
explorations.get
explorations.replace
explorations.delete
Patches
Fixed in Mathesar 0.10.0.
The fix requires these RPC methods to include database_id, verifies that the requesting user is a collaborator on that database, and constrains exploration lookups, updates, and deletes to the supplied database.
Workarounds
Upgrade to Mathesar 0.10.0 or later.
There is no complete workaround for affected multi-user deployments. Deployments where all Mathesar users are mutually trusted are less exposed.
Impact
Several saved exploration RPC methods operated on an
exploration_idwithout verifying that the requesting user was a collaborator on the exploration’s database.An authenticated user on the same Mathesar installation who knew or guessed an exploration ID could read, replace, or delete a saved exploration belonging to a database where they were not a collaborator.
This affected Mathesar-managed saved exploration definitions, including names, descriptions, selected columns, display metadata, filters, sorting, and transformations. It did not grant collaborator access, expose database credentials, allow access to underlying PostgreSQL table data, or bypass PostgreSQL permissions.
The issue also did not allow an unauthorized user to run an exploration and read query results unless they separately had database access through Mathesar’s database connection checks.
Affected RPC methods
explorations.getexplorations.replaceexplorations.deletePatches
Fixed in Mathesar 0.10.0.
The fix requires these RPC methods to include
database_id, verifies that the requesting user is a collaborator on that database, and constrains exploration lookups, updates, and deletes to the supplied database.Workarounds
Upgrade to Mathesar 0.10.0 or later.
There is no complete workaround for affected multi-user deployments. Deployments where all Mathesar users are mutually trusted are less exposed.