Skip to content

[6.0.0] Embedded dashboard (guest): sorting a table triggers “Data error: Guest user cannot modify chart payload” #37061

Description

@HJulio

Bug description

Summary

When viewing an embedded dashboard using a guest token, attempting to sort a table chart by clicking a column header causes the chart to fail with a “Data error” message. The error shown is:

Guest user cannot modify chart payload.

This makes sorting unusable for guest users in embedded contexts.

Environment

  • Superset version: 6.0.0
  • Deployment: Self-hosted
  • Database: BigQuery
  • Browser: Chrome
  • Embedding method: Dashboard embedded via guest token (JWT)
  • Chart type: Table chart (in a dashboard)

Steps to reproduce

  1. Generate a guest token for a role/user that has access to the embedded dashboard.
  2. Open the embedded dashboard as a guest user.
  3. Locate a table chart in the dashboard.
  4. Click on any column header to sort (ASC/DESC).

Actual result

  • The chart displays a Data error popup / error state.
  • Error message: “Guest user cannot modify chart payload.”
  • Sorting does not work for guest users.

Expected result

Guest users should be able to sort table columns in embedded dashboards (client-side and/or server-side), without triggering permission errors (I mean, it's just sorting)

Additional notes

  • This happens consistently (100% repro) for guest users in embedded mode.
  • Sorting works as expected when logged in as a normal (non-guest) user.
  • Two screenshots will be attached:
    1. The embedded dashboard/table before sorting
    2. The error after clicking a column header

Server Side Exception

2026-01-12 16:57:48,567:WARNING:superset.views.error_handling:SupersetErrorException
Traceback (most recent call last):
  File "/app/.venv/lib/python3.11/site-packages/flask/app.py", line 1484, in full_dispatch_request
    rv = self.dispatch_request()
         ^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/flask/app.py", line 1469, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/security/decorators.py", line 109, in wraps
    return f(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/superset/views/base_api.py", line 120, in wraps
    duration, response = time_function(f, self, *args, **kwargs)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/superset/utils/core.py", line 1410, in time_function
    response = func(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/app/superset/utils/log.py", line 304, in wrapper
    value = f(*args, **kwargs)
            ^^^^^^^^^^^^^^^^^^
  File "/app/superset/charts/data/api.py", line 239, in data
    command.validate()
  File "/app/superset/commands/chart/data/get_data_command.py", line 73, in validate
    self._query_context.raise_for_access()
  File "/app/superset/common/query_context.py", line 139, in raise_for_access
    self._processor.raise_for_access()
  File "/app/superset/common/query_context_processor.py", line 1246, in raise_for_access
    security_manager.raise_for_access(query_context=self._query_context)
  File "/app/superset/security/manager.py", line 2406, in raise_for_access
    raise SupersetSecurityException(
superset.exceptions.SupersetSecurityException: Guest user cannot modify chart payload

Attachments

  • Screenshot 1: (before sorting)
  • Screenshot 2: (error “Guest user cannot modify chart payload”)
Image Image

Screenshots/recordings

No response

Superset version

master / latest-dev

Python version

3.11

Node version

I don't know

Browser

Chrome

Additional context

No response

Checklist

  • I have searched Superset docs and Slack and didn't find a solution to my problem.
  • I have searched the GitHub issue tracker and didn't find a similar bug report.
  • I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions