{"id":"CVE-2026-63199","aliases":["EUVD-2026-83267","GHSA-4227-9989-jrhx","GO-2026-6514","openSUSE-SU-2026:11413-1"],"status":"published","title":"Perses: Missing authorization in datasource proxy allows cross-scope secret disclosure","description":"Perses is an open-source dashboard and visualization project for observability data. From 0.43.0 until 0.54.0-rc.0, the datasource creation and unsaved datasource proxy paths authorize the caller on a Datasource or GlobalDatasource scope but do not require read permission for the separately grantable associated project or global Secret before resolving it. A low-privilege user with GlobalDatasource:create or corresponding project datasource creation rights can attach a project or global Secret that the user cannot otherwise read, point the datasource at a service controlled by the user, and cause Perses to send the decrypted secret in plaintext, bypassing project and global scope separation. This issue is fixed in version 0.54.0-rc.0.","severity":{"version":"4.0","score":8.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00267,"percentile":0.18948,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-862"],"published":"2026-07-31T00:00:00Z","modified":"2026-10-28T02:30:42Z","fixes":[{"ecosystem":"Go","package":"github.com/perses/perses","fixed_in":["0.54.0-rc.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/perses/perses","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.43.0"},{"fixed":"0.54.0-rc.0"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/perses/perses","ranges":[{"type":"SEMVER","events":[{"introduced":"0.43.0"},{"fixed":"0.54.0-rc.0"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/perses/perses","ranges":[{"type":"SEMVER","events":[{"introduced":"0.43.0"},{"fixed":"0.54.0-rc.0"}]}]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"perses-cli","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.54.0-1.1"}]}],"bundled":3}],"products":[{"vendor":"perses","product":"perses"}],"references":[{"url":"https://github.com/perses/perses/security/advisories/GHSA-4227-9989-jrhx","tags":["x_refsource_CONFIRM","advisory","web"]},{"url":"https://github.com/perses/perses/commit/2368c9ef4eb0a70fbca5df69aa20e595821ab625","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/perses/perses/releases/tag/v0.54.0-rc.0","tags":["x_refsource_MISC","web"]},{"url":"https://github.com/advisories/GHSA-4227-9989-jrhx"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63199.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-63199","tags":["advisory"]},{"url":"https://github.com/perses/perses","tags":["package"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-63199","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-63445","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-63458","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-63199","title":"Perses: Missing authorization in datasource proxy allows cross-scope secret disclosure","description":"Perses is an open-source dashboard and visualization project for observability data. From 0.43.0 until 0.54.0-rc.0, the datasource creation and unsaved datasource proxy paths authorize the caller on a Datasource or GlobalDatasource scope but do not require read permission for the separately grantable associated project or global Secret before resolving it. A low-privilege user with GlobalDatasource:create or corresponding project datasource creation rights can attach a project or global Secret that the user cannot otherwise read, point the datasource at a service controlled by the user, and cause Perses to send the decrypted secret in plaintext, bypassing project and global scope separation. This issue is fixed in version 0.54.0-rc.0.","status":"published","published":"2026-09-18T17:36:05.256Z","modified":"2026-09-24T21:05:26.515Z","cvss":[{"version":"4.0","score":8.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N","level":"high","assessor":"cna"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:19:56.284359Z"}],"euvd":[{"id":"EUVD-2026-83267","description":"Perses is an open-source dashboard and visualization project for observability data. From 0.43.0 until 0.54.0-rc.0, the datasource creation and unsaved datasource proxy paths authorize the caller on a Datasource or GlobalDatasource scope but do not require read permission for the separately grantable associated project or global Secret before resolving it. A low-privilege user with GlobalDatasource:create or corresponding project datasource creation rights can attach a project or global Secret that the user cannot otherwise read, point the datasource at a service controlled by the user, and cause Perses to send the decrypted secret in plaintext, bypassing project and global scope separation. This issue is fixed in version 0.54.0-rc.0.","status":"published","published":"2026-09-18T17:36:05Z","modified":"2026-09-24T21:05:26Z","cvss":[{"version":"4.0","score":8.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T17:27:56.296478Z"}],"ghsa":[{"id":"GHSA-4227-9989-jrhx","title":"Perses's missing authorization in datasource proxy allows cross-scope secret disclosure","description":"### Impact\n\nThe datasource proxy authorizes the caller on the Datasource scope, then resolves and decrypts any Secret named in the request body with no Secret-scope check.\n\nDatasource and Secret are distinct, independently grantable role scopes, so an operator can grant datasource access without secret access. The proxy and the service to create a datasource does not verify that the operator has the correct right.\n\nA user holding only `GlobalDatasource:create` can create a `GlobalDatasource` and attached to it a `GlobalSecret` without having the right to get access to. The user can also do the same by using the `unSaved datasource` feature proposed by the proxy used to verify the connectivity to the datasource before creating the resource.\n\nAs soon as you can attach a secret that you don't have right to see, you can then create a Datasource that you control and then read anything send by Perses. Which include the secret in plain text. You can then have access to the secret without being granted to.\n\nThe project-scoped variant does the same within a project.\n\n### Patches\nThe proxy and the service to create the datasource is verifying if you have the right to read a secret if a secret is attached to the datasource.\nThis is patch in v0.54.0-rc.0\n\n### Workarounds\nThis issue can be avoided by using the provisioning to create the datasource and by removing the right to create datasource.","status":"published","published":"2026-09-18T17:39:48Z","modified":"2026-09-18T17:39:52Z","cvss":[{"version":"4.0","score":8.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N","level":"high"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:41:19.455935Z"}],"nvd":[{"id":"CVE-2026-63199","description":"Perses is an open-source dashboard and visualization project for observability data. From 0.43.0 until 0.54.0-rc.0, the datasource creation and unsaved datasource proxy paths authorize the caller on a Datasource or GlobalDatasource scope but do not require read permission for the separately grantable associated project or global Secret before resolving it. A low-privilege user with GlobalDatasource:create or corresponding project datasource creation rights can attach a project or global Secret that the user cannot otherwise read, point the datasource at a service controlled by the user, and cause Perses to send the decrypted secret in plaintext, bypassing project and global scope separation. This issue is fixed in version 0.54.0-rc.0.","status":"published","published":"2026-09-18T18:17:09.98Z","modified":"2026-09-30T17:32:07.107Z","cvss":[{"version":"4.0","score":8.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high","assessor":"secondary"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:12:50.043898Z"}],"osv":[{"id":"CVE-2026-63199","title":"Perses: Missing authorization in datasource proxy allows cross-scope secret disclosure","description":"Perses is an open-source dashboard and visualization project for observability data. From 0.43.0 until 0.54.0-rc.0, the datasource creation and unsaved datasource proxy paths authorize the caller on a Datasource or GlobalDatasource scope but do not require read permission for the separately grantable associated project or global Secret before resolving it. A low-privilege user with GlobalDatasource:create or corresponding project datasource creation rights can attach a project or global Secret that the user cannot otherwise read, point the datasource at a service controlled by the user, and cause Perses to send the decrypted secret in plaintext, bypassing project and global scope separation. This issue is fixed in version 0.54.0-rc.0.","status":"published","published":"2026-09-18T17:36:05.256Z","modified":"2026-10-28T02:30:42.794180795Z","cvss":[{"version":"4.0","score":8.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N","level":"high"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T15:45:13.306117Z"},{"id":"GHSA-4227-9989-jrhx","title":"Perses's missing authorization in datasource proxy allows cross-scope secret disclosure","description":"### Impact\n\nThe datasource proxy authorizes the caller on the Datasource scope, then resolves and decrypts any Secret named in the request body with no Secret-scope check.\n\nDatasource and Secret are distinct, independently grantable role scopes, so an operator can grant datasource access without secret access. The proxy and the service to create a datasource does not verify that the operator has the correct right.\n\nA user holding only `GlobalDatasource:create` can create a `GlobalDatasource` and attached to it a `GlobalSecret` without having the right to get access to. The user can also do the same by using the `unSaved datasource` feature proposed by the proxy used to verify the connectivity to the datasource before creating the resource.\n\nAs soon as you can attach a secret that you don't have right to see, you can then create a Datasource that you control and then read anything send by Perses. Which include the secret in plain text. You can then have access to the secret without being granted to.\n\nThe project-scoped variant does the same within a project.\n\n### Patches\nThe proxy and the service to create the datasource is verifying if you have the right to read a secret if a secret is attached to the datasource.\nThis is patch in v0.54.0-rc.0\n\n### Workarounds\nThis issue can be avoided by using the provisioning to create the datasource and by removing the right to create datasource.","status":"published","published":"2026-09-18T17:39:48Z","modified":"2026-09-28T17:11:13.970545131Z","cvss":[{"version":"4.0","score":8.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N","level":"high"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T15:46:36.092962Z"},{"id":"GO-2026-6514","title":"Perses's missing authorization in datasource proxy allows cross-scope secret disclosure in github.com/perses/perses","description":"Perses's missing authorization in datasource proxy allows cross-scope secret disclosure in github.com/perses/perses","status":"published","published":"2026-09-28T16:43:40Z","modified":"2026-09-28T17:00:17.009965174Z","updated_at":"2026-11-02T15:47:03.11707Z"},{"id":"openSUSE-SU-2026:11413-1","title":"perses-cli-0.54.0-1.1 on GA media","description":"These are all security issues fixed in the perses-cli-0.54.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-07-31T00:00:00Z","modified":"2026-08-01T09:45:06.10177555Z","updated_at":"2026-11-02T16:58:39.516824Z"}]}}
