Type:
Task
Priority:
Major
Resolution:
Fixed
The SHOW SLAVE HOSTS statement:
required REPLICATION SLAVE privilege prior to 10.5.2 (which was not good from the security point of view: a user with REPLICATION SLAVE should not be able to see other slaves connected to the same master - it should only be able to connect to the master using the replication IO to pull binlog events)
requires REPLICATION MASTER ADMIN privilege since 10.5.2
The original patch for MDEV-21743 automatically granted REPLICATION MASTER ADMIN on upgrade to any user that had REPLICATION SLAVE before the upgrade. The idea was to automatically allow SHOW SLAVE HOSTS after upgrade to all users who were able to do so before the upgrade.
However, later we also bound the following statements to REPLICATION MASTER ADMIN (under terms of MDEV-21967 , MDEV-21972 , MDEV-21973 ):
SET GLOBAL rpl_semi_sync_master_enabled
SET GLOBAL rpl_semi_sync_master_timeout
SET GLOBAL rpl_semi_sync_master_wait_no_slave
SET GLOBAL rpl_semi_sync_master_trace_level
SET GLOBAL rpl_semi_sync_master_wait_point
SET GLOBAL master_verify_checksum
SET GLOBAL gtid_binlog_state
SET GLOBAL server_id
SET GLOBAL gtid_domain_id
It's not a good idea to give access to set these global variables on the master to any user who is only supposed to communicate with the master from slave (using the replication IO protocol).
Let's revert this change: REPLICATION MASTER ADMIN should not be granted automatically when reading user data from a pre-10.5.2 JSON table. The DBA after the upgrade will have to do GRANT REPLICATION MASTER ADMIN to all users who need SHOW SLAVE HOSTS . This is an incompatible change and should be mentioned in the documentation explicitly.
Note, we revert this automatic grant for upgrade from an older (pre-10.5.2) JSON user table only!
There is no a way to GRANT REPLICATION MASTER ADMIN with the old-style (pre-10.4) user table. So let's keep this behavior and keep automatic grant of REPLICATION MASTER ADMIN for all users that had REPLICATION SLAVE in the pre-10.4 user table. This will allow to do SHOW SLAVE HOSTS with the old pre-10.4 user table. After upgrade from the pre-10.4 user table to JSON table, the DBA will have to revoke REPLICATION MASTER ADMIN from any users who do not really need it.
{"report":{"fcp":3003.199999809265,"ttfb":1111.0999999046326,"pageVisibility":"visible","entityId":84524,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":32,"apdex":0.5,"journeyId":"00e9abde-0912-4be6-84d6-4f726916740d","navigationType":0,"readyForUser":3094.7999997138977,"redirectCount":0,"resourceLoadedEnd":3335.0999999046326,"resourceLoadedStart":1282.2999997138977,"resourceTiming":[{"duration":746.3000001907349,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":1282.2999997138977,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":1282.2999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":2028.5999999046326,"responseStart":0,"secureConnectionStart":0},{"duration":925.7999997138977,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/download/contextbatch/css/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true&whisper-enabled=true","startTime":1282.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":1282.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":2208.2999997138977,"responseStart":0,"secureConnectionStart":0},{"duration":953.9000000953674,"initiatorType":"script","name":"https://jira.mariadb.org/s/0917945aaa57108d00c5076fea35e069-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":1282.6999998092651,"connectEnd":1282.6999998092651,"connectStart":1282.6999998092651,"domainLookupEnd":1282.6999998092651,"domainLookupStart":1282.6999998092651,"fetchStart":1282.6999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":1282.6999998092651,"responseEnd":2236.5999999046326,"responseStart":2236.5999999046326,"secureConnectionStart":1282.6999998092651},{"duration":1025.7000002861023,"initiatorType":"script","name":"https://jira.mariadb.org/s/2d8175ec2fa4c816e8023260bd8c1786-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/download/contextbatch/js/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true&whisper-enabled=true","startTime":1282.7999997138977,"connectEnd":1282.7999997138977,"connectStart":1282.7999997138977,"domainLookupEnd":1282.7999997138977,"domainLookupStart":1282.7999997138977,"fetchStart":1282.7999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":1282.7999997138977,"responseEnd":2308.5,"responseStart":2308.5,"secureConnectionStart":1282.7999997138977},{"duration":1030.0999999046326,"initiatorType":"script","name":"https://jira.mariadb.org/s/a9324d6758d385eb45c462685ad88f1d-CDN/lu2cib/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":1283,"connectEnd":1283,"connectStart":1283,"domainLookupEnd":1283,"domainLookupStart":1283,"fetchStart":1283,"redirectEnd":0,"redirectStart":0,"requestStart":1283,"responseEnd":2313.0999999046326,"responseStart":2313.0999999046326,"secureConnectionStart":1283},{"duration":1031,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":1283.1999998092651,"connectEnd":1283.1999998092651,"connectStart":1283.1999998092651,"domainLookupEnd":1283.1999998092651,"domainLookupStart":1283.1999998092651,"fetchStart":1283.1999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":1283.1999998092651,"responseEnd":2314.199999809265,"responseStart":2314.199999809265,"secureConnectionStart":1283.1999998092651},{"duration":1031.8000001907349,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":1283.3999996185303,"connectEnd":1283.3999996185303,"connectStart":1283.3999996185303,"domainLookupEnd":1283.3999996185303,"domainLookupStart":1283.3999996185303,"fetchStart":1283.3999996185303,"redirectEnd":0,"redirectStart":0,"requestStart":1283.3999996185303,"responseEnd":2315.199999809265,"responseStart":2315.199999809265,"secureConnectionStart":1283.3999996185303},{"duration":1299.1999998092651,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2cib/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":1283.5999999046326,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":1283.5999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":2582.7999997138977,"responseStart":0,"secureConnectionStart":0},{"duration":1032.5999999046326,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":1283.6999998092651,"connectEnd":1283.6999998092651,"connectStart":1283.6999998092651,"domainLookupEnd":1283.6999998092651,"domainLookupStart":1283.6999998092651,"fetchStart":1283.6999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":1283.6999998092651,"responseEnd":2316.2999997138977,"responseStart":2316.2999997138977,"secureConnectionStart":1283.6999998092651},{"duration":1299.2000002861023,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2cib/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.css?jira.create.linked.issue=true","startTime":1283.8999996185303,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":1283.8999996185303,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":2583.0999999046326,"responseStart":0,"secureConnectionStart":0},{"duration":1033.5,"initiatorType":"script","name":"https://jira.mariadb.org/s/5d5e8fe91fbc506585e83ea3b62ccc4b-CDN/lu2cib/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.js?jira.create.linked.issue=true&locale=en","startTime":1284.0999999046326,"connectEnd":1284.0999999046326,"connectStart":1284.0999999046326,"domainLookupEnd":1284.0999999046326,"domainLookupStart":1284.0999999046326,"fetchStart":1284.0999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":1284.0999999046326,"responseEnd":2317.5999999046326,"responseStart":2317.5999999046326,"secureConnectionStart":1284.0999999046326},{"duration":1762.7000002861023,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":1285.2999997138977,"connectEnd":1285.2999997138977,"connectStart":1285.2999997138977,"domainLookupEnd":1285.2999997138977,"domainLookupStart":1285.2999997138977,"fetchStart":1285.2999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":1285.2999997138977,"responseEnd":3048,"responseStart":3048,"secureConnectionStart":1285.2999997138977},{"duration":2049.7000002861023,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":1285.3999996185303,"connectEnd":1285.3999996185303,"connectStart":1285.3999996185303,"domainLookupEnd":1285.3999996185303,"domainLookupStart":1285.3999996185303,"fetchStart":1285.3999996185303,"redirectEnd":0,"redirectStart":0,"requestStart":1285.3999996185303,"responseEnd":3335.0999999046326,"responseStart":3335.0999999046326,"secureConnectionStart":1285.3999996185303},{"duration":407.7999997138977,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":2648,"connectEnd":2648,"connectStart":2648,"domainLookupEnd":2648,"domainLookupStart":2648,"fetchStart":2648,"redirectEnd":0,"redirectStart":0,"requestStart":2648,"responseEnd":3055.7999997138977,"responseStart":3055.7999997138977,"secureConnectionStart":2648}],"fetchStart":1,"domainLookupStart":1,"domainLookupEnd":1,"connectStart":1,"connectEnd":1,"requestStart":953,"responseStart":1112,"responseEnd":1115,"domLoading":1280,"domInteractive":3356,"domContentLoadedEventStart":3356,"domContentLoadedEventEnd":3428,"domComplete":5122,"loadEventStart":5122,"loadEventEnd":5123,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":3337.0999999046326},{"name":"bigPipe.sidebar-id.end","time":3338.2999997138977},{"name":"bigPipe.activity-panel-pipe-id.start","time":3338.5},{"name":"bigPipe.activity-panel-pipe-id.end","time":3340.8999996185303},{"name":"activityTabFullyLoaded","time":3436.5}],"measures":[],"correlationId":"ed9f6673e74b0e","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":105,"dbReadsTimeInMs":17,"dbConnsTimeInMs":27,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}