{"id":"GHSA-wv8c-6mx2-xf4j","revision":null,"records":[{"revision":"87eb6da9fbef406db796da6bccad72d4","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-45726","aliases":[],"title":"Omni: Reader-level users can retrieve imported cluster CA keys via ResourceService","description":"Omni manages Kubernetes on bare metal, virtual machines, or in a cloud. From 1.3.0 until 1.6.6 and 1.7.3, importing a standalone Talos cluster creates an ImportedClusterSecrets resource containing the cluster's complete CA secrets bundle. The access rules in internal/backend/runtime/omni/state_access.go allow an authenticated user with the Reader role to retrieve the resource through ResourceService if the importing actor has not rotated those secrets, exposing Kubernetes, Talos, and etcd CA private keys plus the service-account key. The Kubernetes CA private key permits certificate signing for privileged identities such as system:masters and provides control of the imported cluster outside Omni's authorization boundary, including its workloads, credentials, and secrets. This issue is fixed in versions 1.6.6 and 1.7.3.","state":0,"publishedAt":"2026-09-17T19:37:50.625+00:00","modifiedAt":"2026-09-21T21:09:15.556+00:00","affected":[{"ecosystem":"Vendor product","name":"omni","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"siderolabs\",\n                    \"product\": \"omni\",\n                    \"versions\": [\n                        {\n                            \"version\": \">= 1.3.0, < 1.6.6\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:A/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H","score":7.6,"severity":"HIGH"}],"references":["https://github.com/siderolabs/omni/security/advisories/GHSA-wv8c-6mx2-xf4j","https://github.com/siderolabs/omni/pull/2807","https://github.com/siderolabs/omni/commit/25fa9e141ee00285e70210ed40d11e4e457c871d","https://github.com/siderolabs/omni/commit/a224cb020f3aaca2bc21c3e32a38eb4a37e531e8","https://github.com/siderolabs/omni/commit/b8ca100c4539ea83f0ac2e53dcd523e6e5b68111","https://github.com/siderolabs/omni/releases/tag/v1.6.6","https://github.com/siderolabs/omni/releases/tag/v1.7.3"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-45726","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-45726","identifiers":["CVE-2026-45726"]},"retained":false,"historicalAffected":[]},{"revision":"fe7ee19d641d4427b797e615ef7837c2","observedAt":"2026-11-11T12:04:21.283+00:00","statement":{"source":"euvd","id":"EUVD-2026-82401","aliases":["CVE-2026-45726","GHSA-wv8c-6mx2-xf4j"],"title":"Omni manages Kubernetes on bare metal, virtual machines, or in a cloud. From 1.3.0 until 1.6.6 and 1.7.3, importing a standalone Talos cluster creates an ImportedClusterSecrets resource containing the cluster's complete CA secrets bundle. T…","description":"Omni manages Kubernetes on bare metal, virtual machines, or in a cloud. From 1.3.0 until 1.6.6 and 1.7.3, importing a standalone Talos cluster creates an ImportedClusterSecrets resource containing the cluster's complete CA secrets bundle. The access rules in internal/backend/runtime/omni/state_access.go allow an authenticated user with the Reader role to retrieve the resource through ResourceService if the importing actor has not rotated those secrets, exposing Kubernetes, Talos, and etcd CA private keys plus the service-account key. The Kubernetes CA private key permits certificate signing for privileged identities such as system:masters and provides control of the imported cluster outside Omni's authorization boundary, including its workloads, credentials, and secrets. This issue is fixed in versions 1.6.6 and 1.7.3.","state":0,"publishedAt":null,"modifiedAt":null,"affected":[],"metrics":[{"system":"EUVD CVSS 3.1","vector":"CVSS:3.1/AV:A/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H","score":7.6,"severity":null}],"references":["https://github.com/siderolabs/omni/security/advisories/GHSA-wv8c-6mx2-xf4j","https://github.com/siderolabs/omni/pull/2807","https://github.com/siderolabs/omni/commit/25fa9e141ee00285e70210ed40d11e4e457c871d","https://github.com/siderolabs/omni/commit/a224cb020f3aaca2bc21c3e32a38eb4a37e531e8","https://github.com/siderolabs/omni/commit/b8ca100c4539ea83f0ac2e53dcd523e6e5b68111","https://github.com/siderolabs/omni/releases/tag/v1.6.6","https://github.com/siderolabs/omni/releases/tag/v1.7.3"],"sourceUrl":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-82401","license":"ENISA EUVD · source terms and attribution apply","enrichment":{"sourceStatus":null,"weaknesses":[],"productCriteria":[],"sourceDates":{"datePublished":"Sep 17, 2026, 7:37:50 PM","dateUpdated":"Sep 21, 2026, 9:09:15 PM"},"relatedAdvisories":[],"note":"EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON."},"key":"euvd:EUVD-2026-82401","identifiers":["EUVD-2026-82401","CVE-2026-45726","GHSA-wv8c-6mx2-xf4j"]},"retained":false,"historicalAffected":[]},{"revision":"3fe8e5171e3b428abb16ed064ab288ad","observedAt":"2026-10-25T12:17:14.897+00:00","statement":{"source":"nvd","id":"CVE-2026-45726","aliases":[],"title":"Omni manages Kubernetes on bare metal, virtual machines, or in a cloud. From 1.3.0 until 1.6.6 and 1.7.3, importing a standalone Talos cluster creates an ImportedClusterSecrets resource containing the cluster's complete CA secrets bundle. T…","description":"Omni manages Kubernetes on bare metal, virtual machines, or in a cloud. From 1.3.0 until 1.6.6 and 1.7.3, importing a standalone Talos cluster creates an ImportedClusterSecrets resource containing the cluster's complete CA secrets bundle. The access rules in internal/backend/runtime/omni/state_access.go allow an authenticated user with the Reader role to retrieve the resource through ResourceService if the importing actor has not rotated those secrets, exposing Kubernetes, Talos, and etcd CA private keys plus the service-account key. The Kubernetes CA private key permits certificate signing for privileged identities such as system:masters and provides control of the imported cluster outside Omni's authorization boundary, including its workloads, credentials, and secrets. This issue is fixed in versions 1.6.6 and 1.7.3.","state":0,"publishedAt":"2026-09-17T20:16:49.65+00:00","modifiedAt":"2026-09-24T21:25:27.05+00:00","affected":[],"metrics":[{"system":"CVSS 3.1 · security-advisories@github.com · Secondary","vector":"CVSS:3.1/AV:A/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H","score":7.6,"severity":"HIGH"}],"references":["https://github.com/siderolabs/omni/commit/25fa9e141ee00285e70210ed40d11e4e457c871d","https://github.com/siderolabs/omni/commit/a224cb020f3aaca2bc21c3e32a38eb4a37e531e8","https://github.com/siderolabs/omni/commit/b8ca100c4539ea83f0ac2e53dcd523e6e5b68111","https://github.com/siderolabs/omni/pull/2807","https://github.com/siderolabs/omni/releases/tag/v1.6.6","https://github.com/siderolabs/omni/releases/tag/v1.7.3","https://github.com/siderolabs/omni/security/advisories/GHSA-wv8c-6mx2-xf4j"],"sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-45726","license":"NIST NVD usage terms; underlying source attribution retained","enrichment":{"sourceStatus":"Deferred","weaknesses":["CWE-200","CWE-522","CWE-732"],"productCriteria":[],"sourceDates":{"published":"2026-09-17T20:16:49.650","lastModified":"2026-09-24T21:25:27.050"},"relatedAdvisories":[],"note":"NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON."},"key":"nvd:CVE-2026-45726","identifiers":["CVE-2026-45726"]},"retained":false,"historicalAffected":[]},{"revision":"cbc7a16e9cb048399a2f4fd4a3abd69a","observedAt":"2026-10-24T13:19:41.952+00:00","statement":{"source":"osv","id":"GHSA-wv8c-6mx2-xf4j","aliases":["CVE-2026-45726","GO-2026-5725"],"title":"Omni: Reader-level users can retrieve imported cluster CA keys via ResourceService","description":"## Summary\n\nOmni supports importing standalone Talos clusters.\n\nDuring this process, an ImportedClusterSecrets resource is created, which contains the full CA secrets bundle for the cluster being imported.\n\nIf these secrets are not rotated by the importing actor, an authenticated Omni user with Reader access can read this resource and gain full access to the Talos, Kubernetes and etcd APIs of the cluster.\n\n## Severity\n\n- **Attack Vector:** Adjacent: the attacker needs to be in the same network to be able to access Talos/Kubernetes APIs with the compromised keys.\n- **Attack Complexity:** High: the attacker needs a deep understanding of Omni's internals. The resource is only created for imported clusters, and is normally not represented to users via any high-level API.\n- **Privileges Required:** Low: the role `Reader` is sufficient for the attacker to be able to read an imported cluster's secrets.\n- **User Interaction:** Required: another user must have imported a cluster to Omni for this vulnerability to exist.\n- **Scope:** Changed: the leaked CA private keys let an attacker directly get full control on Kubernetes or Talos, beyond the limitations enforced by Omni.\n- **Confidentiality Impact:** High: full cluster CA private keys (Kubernetes, Talos, etcd, service account) are exposed.\n- **Integrity Impact:** High: with the CA keys the attacker has full control on Kubernetes and Talos of the compromised (imported) cluster, and modify the workloads on it.\n- **Availability Impact:** High: with the CA keys the attacker has full control on Kubernetes and Talos of the compromised (imported) cluster, and modify the workloads on it.\n\n## Impact\n\n- Any Reader-level account can exfiltrate the complete CA private key hierarchy (Kubernetes CA, etcd CA, service account key) of the imported clusters whose secrets are not yet rotated (\"tainted\" imported clusters).\n- With the Kubernetes CA private key, an attacker can sign certificates for any Kubernetes user or group, including `system:masters`, achieving cluster-admin access to the imported cluster entirely outside Omni's control plane.\n- Impact scope extends beyond Omni to every Kubernetes workload, credential, and secret stored in the affected imported cluster.\n\n## Credit\nThis vulnerability was discovered and reported by [bugbunny.ai](https://bugbunny.ai).","state":0,"publishedAt":"2026-06-05T15:26:24+00:00","modifiedAt":"2026-06-25T23:11:14.495266+00:00","affected":[{"ecosystem":"Go","name":"github.com/siderolabs/omni","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"1.3.0"},{"kind":"fixed","version":"1.6.6"}]}],"versions":[],"rawVersionEvidence":null},{"ecosystem":"Go","name":"github.com/siderolabs/omni","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"1.7.0"},{"kind":"fixed","version":"1.7.3"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:A/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"HIGH"}],"references":["https://github.com/siderolabs/omni/security/advisories/GHSA-wv8c-6mx2-xf4j","https://github.com/siderolabs/omni","https://github.com/siderolabs/omni/releases/tag/v1.6.6","https://github.com/siderolabs/omni/releases/tag/v1.7.3"],"sourceUrl":"https://github.com/advisories/GHSA-wv8c-6mx2-xf4j","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-wv8c-6mx2-xf4j","identifiers":["GHSA-wv8c-6mx2-xf4j","CVE-2026-45726","GO-2026-5725"]},"retained":false,"historicalAffected":[]},{"revision":"bdb09291090a4ac6a5525d2a2231df2c","observedAt":"2026-10-24T13:19:41.952+00:00","statement":{"source":"osv","id":"GO-2026-5725","aliases":["CVE-2026-45726","GHSA-wv8c-6mx2-xf4j"],"title":"Omni: Reader-level users can retrieve imported cluster CA keys via ResourceService in github.com/siderolabs/omni","description":"Omni: Reader-level users can retrieve imported cluster CA keys via ResourceService in github.com/siderolabs/omni","state":0,"publishedAt":"2026-06-25T22:34:38+00:00","modifiedAt":"2026-06-25T23:01:40.0345272+00:00","affected":[{"ecosystem":"Go","name":"github.com/siderolabs/omni","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"1.3.0"},{"kind":"fixed","version":"1.6.6"},{"kind":"introduced","version":"1.7.0"},{"kind":"fixed","version":"1.7.3"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[],"references":["https://github.com/siderolabs/omni/security/advisories/GHSA-wv8c-6mx2-xf4j","https://github.com/siderolabs/omni/releases/tag/v1.6.6","https://github.com/siderolabs/omni/releases/tag/v1.7.3"],"sourceUrl":"https://osv.dev/vulnerability/GO-2026-5725","license":"OSV · upstream source license applies","key":"osv:GO-2026-5725","identifiers":["GO-2026-5725","CVE-2026-45726","GHSA-wv8c-6mx2-xf4j"]},"retained":false,"historicalAffected":[]}],"coverage":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-11-12T11:55:28.1860721+00:00","complete":true,"records":1779,"lastAttemptAt":"2026-11-12T11:55:28.1860721+00:00","lastSuccessAt":"2026-11-12T11:55:28.4130785+00:00","error":null,"lastVerifiedAt":"2026-11-12T11:55:28.4130791+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-64752486c567b55b31fb0d7225f5222bcd0019564ac0ac5f0649e242c7b19299-4a4604796d7c0adea2c1c677026f25a1e039e4a95710b02ad846575329daaa79","complete":true,"records":424651,"lastAttemptAt":"2026-11-12T11:53:33.8199862+00:00","lastSuccessAt":"2026-11-12T11:53:33.7811873+00:00","error":null,"lastVerifiedAt":"2026-11-12T11:53:33.8199862+00:00","snapshotPublishedAt":"2026-11-12T11:27:22+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-0580dcc98aaa46a8935f8ff576f25037","complete":true,"records":13764,"lastAttemptAt":"2026-11-12T11:56:20.2141865+00:00","lastSuccessAt":"2026-11-12T11:56:20.209+00:00","error":null,"lastVerifiedAt":"2026-11-12T11:56:20.209+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13817,"expectedIdentifiers":13817,"failedIdentifiers":0},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-11-12T11:55:28.1860721+00:00","complete":true,"records":1097,"lastAttemptAt":"2026-11-12T11:55:28.1860721+00:00","lastSuccessAt":"2026-11-12T11:55:28.4142299+00:00","error":null,"lastVerifiedAt":"2026-11-12T11:55:28.4142304+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-ea8d0b9744d8407d9df5932458afeb6a","complete":false,"records":13764,"lastAttemptAt":"2026-11-12T11:55:53.6222651+00:00","lastSuccessAt":"2026-11-12T11:55:53.618+00:00","error":null,"lastVerifiedAt":"2026-11-12T11:55:53.618+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13313,"expectedIdentifiers":13817,"failedIdentifiers":0},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-3562b6c78fd1bd0f0b55daf66a0926ae24f65e462df7f6d928caad458fc696bf","complete":true,"records":9947,"lastAttemptAt":"2026-11-12T11:55:28.0344457+00:00","lastSuccessAt":"2026-11-11T04:27:43.6877707+00:00","error":null,"lastVerifiedAt":"2026-11-12T11:55:28.0344457+00:00","snapshotPublishedAt":"2026-11-11T03:32:46+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-456002455e0ab94bb92c95476d4e6d175c104cd594749982afd96c893728ecbc","complete":true,"records":2010,"lastAttemptAt":"2026-11-12T11:53:33.8856695+00:00","lastSuccessAt":"2026-11-11T02:36:58.1276999+00:00","error":null,"lastVerifiedAt":"2026-11-12T11:53:33.8856695+00:00","snapshotPublishedAt":"2026-11-11T01:17:51+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-f46f74c6a30a9b6e4cfb481719c6d35521ebec2d53ebf163223d093ae587eb9d","complete":true,"records":3106,"lastAttemptAt":"2026-11-12T11:55:28.1484531+00:00","lastSuccessAt":"2026-11-12T09:55:31.1176285+00:00","error":null,"lastVerifiedAt":"2026-11-12T11:55:28.1484531+00:00","snapshotPublishedAt":"2026-11-12T09:48:13+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-e59fd13399d7070c31f5f25102a6bcd537ccba91d773c8427fcf0d07ea0fe2d5","complete":true,"records":231700,"lastAttemptAt":"2026-11-12T11:55:27.8998515+00:00","lastSuccessAt":"2026-11-12T11:55:26.4268762+00:00","error":null,"lastVerifiedAt":"2026-11-12T11:55:27.8998515+00:00","snapshotPublishedAt":"2026-11-12T11:33:13+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null}]}