{"id":"CVE-2025-27512","state":"PUBLISHED","title":"Zincati allows unprivileged access to rpm-ostree D-Bus `Deploy()` and `FinalizeDeployment()` methods","description":"Zincati is an auto-update agent for Fedora CoreOS hosts. Zincati ships a polkit rule which allows the `zincati` system user to use the actions `org.projectatomic.rpmostree1.deploy` to deploy updates to the system and `org.projectatomic.rpmostree1.finalize-deployment` to reboot the system into the deployed update. Since Zincati 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. In 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. This 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. The logic error is fixed in Zincati v0.0.30. A workaround is to manually add a following polkit rule, instructions for which are available in the GitHub Security Advisory.","publishedAt":"2025-03-17T14:46:28.219Z","updatedAt":"2025-03-17T15:01:42.057Z","severity":{"score":2.1,"label":"Low","version":"4.0","vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:U","source":"GitHub_M"},"assigner":"GitHub_M","products":["coreos zincati"],"affected":[{"vendor":"coreos","product":"zincati","versions":[{"version":">= 0.0.24, < 0.0.30","status":"affected"}]}],"references":["https://github.com/coreos/zincati/security/advisories/GHSA-w6fv-6gcc-x825","https://github.com/coreos/zincati/commit/01d8e89f799e6ba21bdf7dc668abce23bd0d8f78","https://github.com/coreos/zincati/commit/28a43aa2c1edda091ba659677d73c13e6e3ea99d","https://github.com/coreos/zincati/releases/tag/v0.0.24","https://github.com/coreos/zincati/releases/tag/v0.0.30"],"weaknesses":["CWE-783","CWE-863"],"ingestedAt":"2026-10-29T20:08:47.682Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/27xxx/CVE-2025-27512.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2025-27512","state":"PUBLISHED","datePublished":"2025-03-17T14:46:28.219Z","dateUpdated":"2025-03-17T15:01:42.057Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2025-02-26T18:11:52.306Z"},"containers":{"cna":{"title":"Zincati allows unprivileged access to rpm-ostree D-Bus `Deploy()` and `FinalizeDeployment()` methods","descriptions":[{"lang":"en","value":"Zincati is an auto-update agent for Fedora CoreOS hosts. Zincati ships a polkit rule which allows the `zincati` system user to use the actions `org.projectatomic.rpmostree1.deploy` to deploy updates to the system and `org.projectatomic.rpmostree1.finalize-deployment` to reboot the system into the deployed update. Since Zincati 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. In 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. This 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. The logic error is fixed in Zincati v0.0.30. A workaround is to manually add a following polkit rule, instructions for which are available in the GitHub Security Advisory."}],"affected":[{"vendor":"coreos","product":"zincati","versions":[{"version":">= 0.0.24, < 0.0.30","status":"affected"}]}],"references":[{"url":"https://github.com/coreos/zincati/security/advisories/GHSA-w6fv-6gcc-x825","name":"https://github.com/coreos/zincati/security/advisories/GHSA-w6fv-6gcc-x825","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/coreos/zincati/commit/01d8e89f799e6ba21bdf7dc668abce23bd0d8f78","name":"https://github.com/coreos/zincati/commit/01d8e89f799e6ba21bdf7dc668abce23bd0d8f78","tags":["x_refsource_MISC"]},{"url":"https://github.com/coreos/zincati/commit/28a43aa2c1edda091ba659677d73c13e6e3ea99d","name":"https://github.com/coreos/zincati/commit/28a43aa2c1edda091ba659677d73c13e6e3ea99d","tags":["x_refsource_MISC"]},{"url":"https://github.com/coreos/zincati/releases/tag/v0.0.24","name":"https://github.com/coreos/zincati/releases/tag/v0.0.24","tags":["x_refsource_MISC"]},{"url":"https://github.com/coreos/zincati/releases/tag/v0.0.30","name":"https://github.com/coreos/zincati/releases/tag/v0.0.30","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV4_0":{"attackVector":"LOCAL","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"HIGH","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":2.1,"baseSeverity":"LOW","vectorString":"CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:U","version":"4.0"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-783","lang":"en","description":"CWE-783: Operator Precedence Logic Error","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-863","lang":"en","description":"CWE-863: Incorrect Authorization","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2025-03-17T14:46:28.219Z"},"source":{"advisory":"GHSA-w6fv-6gcc-x825","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2025-03-17T15:01:29.371339Z","id":"CVE-2025-27512","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-03-17T15:01:42.057Z"}}]}}}