Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-40656

DENY TO PUBLIC can't be REVOKE DENYed.

    XMLWordPrintable

Details

    • Q3/2026 Server Development

    Description

      Brought by ramesh

      DENY TO PUBLIC appears to be sticky, not easily revertable

      A root user can do

      DENY SELECT ON test.t1 TO PUBLIC;
      REVOKE DENY SELECT ON test.t1 FROM PUBLIC;
      

      in the same session, but if he reconnects between above statements. Root can't REVOKE DENY, because REVOKE (DENY) requires SELECT on test.t1, and this access was previously denied to everyone.

      Currently, the situation is fixable with raw access to mysql.global_privs, and changing user's json, then FLIUSH PRIVILEGES. In a way it is fixable with REVOKE ALL ..., GRANT OPTION, or DELETE public from the mysql.global_privs table, alas those are quite an overshoot.

      To fix that paradox situation, we'll allow REVOKE DENY FROM PUBLIC, if user has UPDATE on mysql.global_privs (i.e he can also fix by manually in mysql.global_privs)

      Attachments

        Issue Links

          Activity

            People

              sanja Oleksandr Byelkin
              wlad Vladislav Vaintroub
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - 6h 53m Original Estimate - 6h 53m
                  6h 53m
                  Remaining:
                  Time Spent - 1d Remaining Estimate - 1h 28m
                  1h 28m
                  Logged:
                  Time Spent - 1d Remaining Estimate - 1h 28m
                  1d

                  Git Integration

                    Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.