From 0b6c749d3951e6cf0a86494170cb865c8ddfc099 Mon Sep 17 00:00:00 2001 From: "advisory-database[bot]" <45398580+advisory-database[bot]@users.noreply.github.com> Date: Wed, 19 Mar 2025 15:02:45 +0000 Subject: [PATCH] Publish GHSA-w6fv-6gcc-x825 --- .../2025/03/GHSA-w6fv-6gcc-x825/GHSA-w6fv-6gcc-x825.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/advisories/github-reviewed/2025/03/GHSA-w6fv-6gcc-x825/GHSA-w6fv-6gcc-x825.json b/advisories/github-reviewed/2025/03/GHSA-w6fv-6gcc-x825/GHSA-w6fv-6gcc-x825.json index 1ebf84c2eb7..1c888b37611 100644 --- a/advisories/github-reviewed/2025/03/GHSA-w6fv-6gcc-x825/GHSA-w6fv-6gcc-x825.json +++ b/advisories/github-reviewed/2025/03/GHSA-w6fv-6gcc-x825/GHSA-w6fv-6gcc-x825.json @@ -1,13 +1,13 @@ { "schema_version": "1.4.0", "id": "GHSA-w6fv-6gcc-x825", - "modified": "2025-03-17T21:55:52Z", + "modified": "2025-03-19T15:00:20Z", "published": "2025-03-17T14:46:56Z", "aliases": [ "CVE-2025-27512" ], "summary": "Zincati allows unprivileged access to rpm-ostree D-Bus `Deploy()` and `FinalizeDeployment()` methods", - "details": "### Impact\n\nZincati ships a polkit rule which allows the `zincati` system user to use the following actions:\n- `org.projectatomic.rpmostree1.deploy`: used to deploy updates to the system\n- `org.projectatomic.rpmostree1.finalize-deployment`: used to reboot the system into the deployed update\n\nSince Zincati [v0.0.24](https://github.com/coreos/zincati/releases/tag/v0.0.24), this polkit rule contains a logic error which broadens access of those polkit actions to any unprivileged user rather than just the `zincati` system user.\n\nIn practice, this means that any unprivileged user with access to the system D-Bus socket is able to deploy older Fedora CoreOS versions (which may have other known vulnerabilities). Note that rpm-ostree enforces that the selected version must be from the same branch the system is currently on so this cannot directly be used to deploy an attacker-controlled update payload.\n\nThis primarily impacts users running untrusted workloads with access to the system D-Bus socket. Note that in general, untrusted workloads should not be given this access, whether containerized or not. By default, containers do not have access to the system D-Bus socket.\n\n### Patches\n\nThe logic error is fixed in Zincati v0.0.30. FCOS releases containing the fix are pending. This advisory will be updated with the final FCOS versions once available.\n\n### Workarounds\n\nA workaround is to add the following polkit rule:\n\n```javascript\npolkit.addRule(function(action, subject) {\n if (action.id == \"org.projectatomic.rpmostree1.deploy\" ||\n action.id == \"org.projectatomic.rpmostree1.finalize-deployment\" ||\n action.id == \"org.projectatomic.rpmostree1.cleanup\") {\n if (subject.user != \"zincati\") {\n return polkit.Result.NO;\n }\n }\n});\n```\n\nto e.g. `/etc/polkit-1/rules.d/00-zincati-fix.rules` (it must sort earlier than `zincati.rules` lexicographically).\n\nNote that this rule will deny all non-root users other than `zincati` from using those actions. If you've added polkit rules to allow e.g. the `core` user or other users, you will need to adjust the policy (or make sure the ordering is appropriate).\n\n### References\n\nThis issue was introduced by [this commit](https://github.com/coreos/zincati/commit/28a43aa2c1edda091ba659677d73c13e6e3ea99d), and is fixed in [v0.0.30](https://github.com/coreos/zincati/releases/tag/v0.0.30).", + "details": "### Impact\n\nZincati ships a polkit rule which allows the `zincati` system user to use the following actions:\n- `org.projectatomic.rpmostree1.deploy`: used to deploy updates to the system\n- `org.projectatomic.rpmostree1.finalize-deployment`: used to reboot the system into the deployed update\n\nSince Zincati [v0.0.24](https://github.com/coreos/zincati/releases/tag/v0.0.24), this polkit rule contains a logic error which broadens access of those polkit actions to any unprivileged user rather than just the `zincati` system user.\n\nIn practice, this means that any unprivileged user with access to the system D-Bus socket is able to deploy older Fedora CoreOS versions (which may have other known vulnerabilities). Note that rpm-ostree enforces that the selected version must be from the same branch the system is currently on so this cannot directly be used to deploy an attacker-controlled update payload.\n\nThis primarily impacts users running untrusted workloads with access to the system D-Bus socket. Note that in general, untrusted workloads should not be given this access, whether containerized or not. By default, containers do not have access to the system D-Bus socket.\n\n### Patches\n\nThe logic error is fixed in Zincati v0.0.30. The fix is included in the following FCOS releases:\n- On the `stable` stream: 41.20250302.3.2\n- On the `testing` stream: 41.20250315.2.0\n- On the `next` stream: 42.20250316.1.0\n\n### Workarounds\n\nA workaround is to add the following polkit rule:\n\n```javascript\npolkit.addRule(function(action, subject) {\n if (action.id == \"org.projectatomic.rpmostree1.deploy\" ||\n action.id == \"org.projectatomic.rpmostree1.finalize-deployment\" ||\n action.id == \"org.projectatomic.rpmostree1.cleanup\") {\n if (subject.user != \"zincati\") {\n return polkit.Result.NO;\n }\n }\n});\n```\n\nto e.g. `/etc/polkit-1/rules.d/00-zincati-fix.rules` (it must sort earlier than `zincati.rules` lexicographically).\n\nNote that this rule will deny all non-root users other than `zincati` from using those actions. If you've added polkit rules to allow e.g. the `core` user or other users, you will need to adjust the policy (or make sure the ordering is appropriate).\n\n### References\n\nThis issue was introduced by [this commit](https://github.com/coreos/zincati/commit/28a43aa2c1edda091ba659677d73c13e6e3ea99d), and is fixed in [v0.0.30](https://github.com/coreos/zincati/releases/tag/v0.0.30).", "severity": [ { "type": "CVSS_V4",