CVE-2026-80346: StarRocks through 4.0.13 Missing Authorization on DROP MATERIALIZED VIEW for Legacy Synchronous Materialized Views
StarRocks performs no privilege check when a legacy synchronous materialized view is dropped. Every other statement type routed through AuthorizerStmtVisitor calls into Authorizer before execution, but visitDropMaterializedViewStatement returns immediately with a comment stating the check happens in execution logic. That holds only for asynchronous materialized views: LocalMetastore.dropMaterializedView calls Authorizer.checkMaterializedViewAction inside a branch taken when the resolved table is a MaterializedView. A legacy synchronous materialized view is stored as a rollup index on an OlapTable rather than a MaterializedView, so the other branch runs, reaching AlterJobMgr.processDropMaterializedView and MaterializedViewHandler, neither of which contains any Authorizer call. The former locates the target by scanning every OlapTable in the named database for a matching rollup index, and the latter validates only table state and name conflicts. Any authenticated account can therefore drop a legacy synchronous materialized view belonging to any database, holding no grant on the view, the base table or the database, and the drop is indistinguishable from an authorized one.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
StarRocksto a version that resolves this vulnerability.Fixed in 4.0.13
Event History
Frequently Asked Questions
Who can exploit this issue?
Any authenticated StarRocks account can drop a legacy synchronous materialized view, even without grants on the view, its base table, or the database containing it.
Which materialized views are affected?
The issue affects legacy synchronous materialized views stored as rollup indexes on an OlapTable. The described execution-time authorization check applies when the resolved object is a MaterializedView, which covers asynchronous materialized views rather than these legacy synchronous views.
Is a special configuration or user interaction required?
No user interaction is required. Exploitation requires network access and an authenticated account with the ability to submit the relevant DROP MATERIALIZED VIEW statement; no authorization grant on the target is needed.
How can administrators determine whether an unauthorized drop may have occurred?
Unauthorized drops are indistinguishable from authorized drops according to the available data. Investigate deletion of legacy synchronous materialized views by comparing drop activity with the dropping account's grants on the affected view, base table, and database.