{"schemaVersion":3,"id":"CVE-2026-45720","aliases":["GHSA-5x9f-6vg5-qg4m","GO-2026-5160"],"status":"published","duplicateOf":null,"title":null,"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.","dates":{"published":"2026-09-17T19:40:57.112Z","modified":"2026-09-17T20:21:50.874Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":7,"severity":"high","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":7,"severity":"high","vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Go","score":7,"severity":"high","vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","exploitability":2.6,"impact":9.8,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":7,"severity":"high","vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00143,"percentile":0.03225,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0.031000000000000017,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00112},"history":[{"date":"2026-09-18T00:00:00.000Z","score":0.00112,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00112,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00112,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00112,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00112,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00112,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00143,"percentile":0.03225}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00112,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00112,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00112,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00112,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00143,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00143,"percentile":0.03225}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-294","name":"Authentication Bypass by Capture-replay","description":"A capture-replay flaw exists when the design of the product makes it possible for a malicious user to sniff network traffic and bypass authentication by replaying it to the server in question to the same effect as the original message (or with minor changes).","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/294.html"},{"id":"CWE-367","name":"Time-of-check Time-of-use (TOCTOU) Race Condition","description":"The product checks the state of a resource before using that resource, but the resource's state can change between the check and the use in a way that invalidates the results of the check.","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/367.html"}],"affected":[{"vendor":"github.com/siderolabs","product":"omni","name":"github.com/siderolabs/omni","label":"omni","ecosystem":"Go","cpePart":null,"purl":"pkg:golang/github.com/siderolabs/omni","purlType":"golang","versions":[{"text":"< 1.6.6","noFixRecorded":false,"fixedIn":null},{"text":"≥ 1.7.0, < 1.7.3","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.6.6 | ≥ 1.7.0, < 1.7.3","eol":null,"hubHref":null},{"vendor":"siderolabs","product":"omni","name":"omni","label":"omni","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 1.6.6","noFixRecorded":false,"fixedIn":null},{"text":"≥ 1.7.0, < 1.7.3","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.6.6 | ≥ 1.7.0, < 1.7.3","eol":null,"hubHref":"/vendor/siderolabs/omni"}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/siderolabs/omni/security/advisories/GHSA-5x9f-6vg5-qg4m","label":"github.com/siderolabs/omni/security/advisories/GHSA-5x9f-6vg5-qg4m","hostname":"github.com","tags":["X Refsource CONFIRM","WEB","Advisory"]},{"url":"https://github.com/siderolabs/omni/pull/2816","label":"github.com/siderolabs/omni/pull/2816","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/siderolabs/omni/commit/272d3f4dd00e778b39fde09afde35575fe13ef13","label":"github.com/siderolabs/omni/commit/272d3f4dd00e778b39fde09afde35575fe13ef13","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/siderolabs/omni/commit/4c4c1e2d8226914f26774a309a91595f168ee921","label":"github.com/siderolabs/omni/commit/4c4c1e2d8226914f26774a309a91595f168ee921","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/siderolabs/omni/commit/ced79da6c032d2103803eb53343d0916cc957d2a","label":"github.com/siderolabs/omni/commit/ced79da6c032d2103803eb53343d0916cc957d2a","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/siderolabs/omni/releases/tag/v1.6.6","label":"github.com/siderolabs/omni/releases/tag/v1.6.6","hostname":"github.com","tags":["X Refsource MISC","WEB"]},{"url":"https://github.com/siderolabs/omni/releases/tag/v1.7.3","label":"github.com/siderolabs/omni/releases/tag/v1.7.3","hostname":"github.com","tags":["X Refsource MISC","WEB"]},{"url":"https://github.com/siderolabs/omni","label":"github.com/siderolabs/omni","hostname":"github.com","tags":["PACKAGE"]}],"lineage":{"upstream":[],"downstream":["OPENSUSE-SU-2026:21483-1"],"duplicates":[],"related":["OPENSUSE-SU-2026:21483-1"]},"timeline":[{"kind":"published","date":"2026-09-17T19:40:57.112Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-09-17T20:21:50.874Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":28,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T20:58:31.550Z","stale":false,"partial":false}}