{"api_version":"1","generated_at":"2026-10-01T11:59:19+00:00","cve":"CVE-2026-45720","urls":{"html":"https://cve.report/CVE-2026-45720","api":"https://cve.report/api/cve/CVE-2026-45720.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-45720","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-45720"},"summary":{"title":"Omni: TOCTOU race condition allows multiple concurrent uses of a single-use SAML session token","description":"Omni manages Kubernetes on bare metal, virtual machines, or in a cloud. Prior to 1.6.6 and from 1.7.0 until 1.7.3, SAML.getSession in internal/pkg/auth/interceptor/saml.go checks SAMLAssertion.Used and marks it used in separate state operations. Concurrent requests carrying the same captured saml-session token can each observe the assertion as unused and obtain authentication as the victim before either update is visible. The attacker can invoke SAML-protected gRPC endpoints, use ConfirmPublicKey to create multiple persistent credentials tied to the victim, and generate audit entries attributed to the victim, with the resulting access potentially affecting confidentiality, integrity, and availability according to the victim's privileges. This issue is fixed in versions 1.6.6 and 1.7.3.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-09-17 20:16:49","updated_at":"2026-09-24 21:25:27"},"problem_types":["CWE-294","CWE-367","CWE-294 CWE-294: Authentication Bypass by Capture-replay","CWE-367 CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"7","severity":"HIGH","vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","baseScore":7,"baseSeverity":"HIGH","attackVector":"LOCAL","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7","severity":"HIGH","vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","data":{"attackComplexity":"HIGH","attackVector":"LOCAL","availabilityImpact":"HIGH","baseScore":7,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","version":"3.1"}}],"references":[{"url":"https://github.com/siderolabs/omni/releases/tag/v1.7.3","name":"https://github.com/siderolabs/omni/releases/tag/v1.7.3","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/siderolabs/omni/commit/4c4c1e2d8226914f26774a309a91595f168ee921","name":"https://github.com/siderolabs/omni/commit/4c4c1e2d8226914f26774a309a91595f168ee921","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/siderolabs/omni/commit/272d3f4dd00e778b39fde09afde35575fe13ef13","name":"https://github.com/siderolabs/omni/commit/272d3f4dd00e778b39fde09afde35575fe13ef13","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/siderolabs/omni/pull/2816","name":"https://github.com/siderolabs/omni/pull/2816","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/siderolabs/omni/releases/tag/v1.6.6","name":"https://github.com/siderolabs/omni/releases/tag/v1.6.6","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/siderolabs/omni/security/advisories/GHSA-5x9f-6vg5-qg4m","name":"https://github.com/siderolabs/omni/security/advisories/GHSA-5x9f-6vg5-qg4m","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/siderolabs/omni/commit/ced79da6c032d2103803eb53343d0916cc957d2a","name":"https://github.com/siderolabs/omni/commit/ced79da6c032d2103803eb53343d0916cc957d2a","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-45720","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-45720","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"siderolabs","product":"omni","version":"affected < 1.6.6","platforms":[]},{"source":"CNA","vendor":"siderolabs","product":"omni","version":"affected >= 1.7.0, < 1.7.3","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"45720","cve":"CVE-2026-45720","epss":"0.001430000","percentile":"0.029270000","score_date":"2026-09-25","updated_at":"2026-09-26 00:06:19"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-45720","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","timestamp":"2026-09-17T20:21:30.412238Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-09-17T20:21:50.874Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"omni","vendor":"siderolabs","versions":[{"status":"affected","version":"< 1.6.6"},{"status":"affected","version":">= 1.7.0, < 1.7.3"}]}],"descriptions":[{"lang":"en","value":"Omni manages Kubernetes on bare metal, virtual machines, or in a cloud. Prior to 1.6.6 and from 1.7.0 until 1.7.3, SAML.getSession in internal/pkg/auth/interceptor/saml.go checks SAMLAssertion.Used and marks it used in separate state operations. Concurrent requests carrying the same captured saml-session token can each observe the assertion as unused and obtain authentication as the victim before either update is visible. The attacker can invoke SAML-protected gRPC endpoints, use ConfirmPublicKey to create multiple persistent credentials tied to the victim, and generate audit entries attributed to the victim, with the resulting access potentially affecting confidentiality, integrity, and availability according to the victim's privileges. This issue is fixed in versions 1.6.6 and 1.7.3."}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"LOCAL","availabilityImpact":"HIGH","baseScore":7,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-294","description":"CWE-294: Authentication Bypass by Capture-replay","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-367","description":"CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-09-17T19:40:57.112Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/siderolabs/omni/security/advisories/GHSA-5x9f-6vg5-qg4m","tags":["x_refsource_CONFIRM"],"url":"https://github.com/siderolabs/omni/security/advisories/GHSA-5x9f-6vg5-qg4m"},{"name":"https://github.com/siderolabs/omni/pull/2816","tags":["x_refsource_MISC"],"url":"https://github.com/siderolabs/omni/pull/2816"},{"name":"https://github.com/siderolabs/omni/commit/272d3f4dd00e778b39fde09afde35575fe13ef13","tags":["x_refsource_MISC"],"url":"https://github.com/siderolabs/omni/commit/272d3f4dd00e778b39fde09afde35575fe13ef13"},{"name":"https://github.com/siderolabs/omni/commit/4c4c1e2d8226914f26774a309a91595f168ee921","tags":["x_refsource_MISC"],"url":"https://github.com/siderolabs/omni/commit/4c4c1e2d8226914f26774a309a91595f168ee921"},{"name":"https://github.com/siderolabs/omni/commit/ced79da6c032d2103803eb53343d0916cc957d2a","tags":["x_refsource_MISC"],"url":"https://github.com/siderolabs/omni/commit/ced79da6c032d2103803eb53343d0916cc957d2a"},{"name":"https://github.com/siderolabs/omni/releases/tag/v1.6.6","tags":["x_refsource_MISC"],"url":"https://github.com/siderolabs/omni/releases/tag/v1.6.6"},{"name":"https://github.com/siderolabs/omni/releases/tag/v1.7.3","tags":["x_refsource_MISC"],"url":"https://github.com/siderolabs/omni/releases/tag/v1.7.3"}],"source":{"advisory":"GHSA-5x9f-6vg5-qg4m","discovery":"UNKNOWN"},"title":"Omni: TOCTOU race condition allows multiple concurrent uses of a single-use SAML session token"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-45720","datePublished":"2026-09-17T19:40:57.112Z","dateReserved":"2026-05-13T05:51:48.666Z","dateUpdated":"2026-09-17T20:21:50.874Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-17 20:16:49","lastModifiedDate":"2026-09-24 21:25:27","problem_types":["CWE-294","CWE-367","CWE-294 CWE-294: Authentication Bypass by Capture-replay","CWE-367 CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","baseScore":7,"baseSeverity":"HIGH","attackVector":"LOCAL","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":1,"impactScore":5.9}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-09-17T20:21:30.412238Z","id":"CVE-2026-45720","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"45720","Ordinal":"1","Title":"Omni: TOCTOU race condition allows multiple concurrent uses of a","CVE":"CVE-2026-45720","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"45720","Ordinal":"1","NoteData":"Omni manages Kubernetes on bare metal, virtual machines, or in a cloud. Prior to 1.6.6 and from 1.7.0 until 1.7.3, SAML.getSession in internal/pkg/auth/interceptor/saml.go checks SAMLAssertion.Used and marks it used in separate state operations. Concurrent requests carrying the same captured saml-session token can each observe the assertion as unused and obtain authentication as the victim before either update is visible. The attacker can invoke SAML-protected gRPC endpoints, use ConfirmPublicKey to create multiple persistent credentials tied to the victim, and generate audit entries attributed to the victim, with the resulting access potentially affecting confidentiality, integrity, and availability according to the victim's privileges. This issue is fixed in versions 1.6.6 and 1.7.3.","Type":"Description","Title":"Omni: TOCTOU race condition allows multiple concurrent uses of a"}]}}}