{"id":"CVE-2026-24408","aliases":["EUVD-2026-4729","GHSA-hm8f-75xx-w2vr","PYSEC-2026-1924","openSUSE-SU-2026:10104-1"],"status":"published","title":"sigstore has CSRF possibility in OIDC authentication during signing","description":"sigstore-python is a Python tool for generating and verifying Sigstore signatures. Prior to version 4.2.0, the sigstore-python OAuth authentication flow is susceptible to Cross-Site Request Forgery. `_OAuthSession` creates a unique \"state\" and sends it as a parameter in the authentication request but the \"state\" in the server response seems not not be cross-checked with this value. Version 4.2.0 contains a patch for the issue.","severity":{"version":"3.1","score":0,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:N","level":"none","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00178,"percentile":0.07459,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-352"],"published":"2026-01-26T21:34:50Z","modified":"2026-10-28T02:30:30Z","fixes":[{"ecosystem":"PyPI","package":"sigstore","fixed_in":["4.2.0"],"sources":["ghsa","osv"]},{"ecosystem":"openSUSE:Tumbleweed","package":"python-sigstore","fixed_in":["4.2.0-1.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"sigstore","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.2.0"}]}]},{"source":"osv","ecosystem":"PyPI","package":"sigstore","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.2.0"}]}],"versions":["0.0.1rc1","0.0.1rc2","0.0.1rc3","0.1.0","0.10.0","0.2.0","0.3.1","0.4.0","0.4.1","0.4.2","0.5.0","0.5.1","0.5.1rc1","0.5.1rc2","0.6.1","0.6.2","0.6.3","0.6.4","0.6.5","0.6.6","0.6.7","0.6.8","0.7.0","0.8.3","0.9.0","1.0.0","1.0.0rc1","1.1.0","1.1.1","1.1.1rc1","1.1.2","1.1.2rc1","2.0.0","2.0.0rc1","2.0.0rc2","2.0.0rc3","2.0.1","2.1.0","2.1.2","2.1.3","2.1.5","3.0.0","3.0.0rc1","3.0.0rc2","3.1.0","3.2.0","3.3.0","3.4.0","3.5.0","3.5.1","3.5.3","3.5.6","3.6.0","3.6.1","3.6.2","3.6.3","3.6.4","3.6.5","3.6.6","3.6.7","4.0.0","4.1.0"]},{"source":"osv","ecosystem":"PyPI","package":"sigstore","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.2.0"}]}],"versions":["0.0.1rc1","0.0.1rc2","0.0.1rc3","0.1.0","0.10.0","0.2.0","0.3.1","0.4.0","0.4.1","0.4.2","0.5.0","0.5.1","0.5.1rc1","0.5.1rc2","0.6.1","0.6.2","0.6.3","0.6.4","0.6.5","0.6.6","0.6.7","0.6.8","0.7.0","0.8.3","0.9.0","1.0.0","1.0.0rc1","1.1.0","1.1.1","1.1.1rc1","1.1.2","1.1.2rc1","2.0.0","2.0.0rc1","2.0.0rc2","2.0.0rc3","2.0.1","2.1.0","2.1.2","2.1.3","2.1.5","3.0.0","3.0.0rc1","3.0.0rc2","3.1.0","3.2.0","3.3.0","3.4.0","3.5.0","3.5.1","3.5.3","3.5.6","3.6.0","3.6.1","3.6.2","3.6.3","3.6.4","3.6.5","3.6.6","3.6.7","4.0.0","4.1.0"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"python-sigstore","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.2.0-1.1"}]}]}],"products":[{"vendor":"linuxfoundation","product":"sigstore-python"},{"vendor":"sigstore","product":"sigstore-python"}],"references":[{"url":"https://github.com/sigstore/sigstore-python/security/advisories/GHSA-hm8f-75xx-w2vr","tags":["x_refsource_CONFIRM","Vendor Advisory","advisory","web"]},{"url":"https://github.com/sigstore/sigstore-python/commit/5e77497fe8f0b202bdd118949074ec2f20da69aa","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/sigstore/sigstore-python/releases/tag/v4.2.0","tags":["x_refsource_MISC","Product","Release Notes","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-24408","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-hm8f-75xx-w2vr","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/24xxx/CVE-2026-24408.json","tags":["advisory"]},{"url":"https://github.com/sigstore/sigstore-python","tags":["package"]},{"url":"https://pypi.org/project/sigstore","tags":["package"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-24408","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-24408","title":"sigstore has CSRF possibility in OIDC authentication during signing","description":"sigstore-python is a Python tool for generating and verifying Sigstore signatures. Prior to version 4.2.0, the sigstore-python OAuth authentication flow is susceptible to Cross-Site Request Forgery. `_OAuthSession` creates a unique \"state\" and sends it as a parameter in the authentication request but the \"state\" in the server response seems not not be cross-checked with this value. Version 4.2.0 contains a patch for the issue.","status":"published","published":"2026-01-26T22:21:35.047Z","modified":"2026-01-27T21:35:14.119Z","cvss":[{"version":"3.1","score":0,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:N","level":"none","assessor":"cna"}],"cwes":["CWE-352"],"updated_at":"2026-11-02T14:19:50.575061Z"}],"euvd":[{"id":"EUVD-2026-4729","description":"sigstore-python is a Python tool for generating and verifying Sigstore signatures. Prior to version 4.2.0, the sigstore-python OAuth authentication flow is susceptible to Cross-Site Request Forgery. `_OAuthSession` creates a unique \"state\" and sends it as a parameter in the authentication request but the \"state\" in the server response seems not not be cross-checked with this value. Version 4.2.0 contains a patch for the issue.","status":"published","published":"2026-01-26T22:21:35Z","modified":"2026-01-27T21:35:14Z","updated_at":"2026-11-02T19:48:46.818498Z"}],"ghsa":[{"id":"GHSA-hm8f-75xx-w2vr","title":"sigstore CSRF possibility in OIDC authentication during signing","description":"### Summary\n\nThe sigstore-python OAuth authentication flow is susceptible to Cross-Site Request Forgery.\n\n### Details\n\n`_OAuthSession` creates a unique \"state\" and sends it as a parameter in the authentication request but the \"state\" in the server response seems not not be cross-checked with this value. \n\nFix should be fairly trivial.\n\n### Impact\n\nThis should be low impact: A man-in-the middle attacker could trick a sigstore-python user into signing something with an identity controlled by the attacker (by returning the response to an authentication request they created). This would be quite confusing but not dangerous.","status":"published","published":"2026-01-26T21:34:50Z","modified":"2026-01-29T03:24:34Z","cvss":[{"version":"3.1","score":0,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:N","level":"none"}],"cwes":["CWE-352"],"updated_at":"2026-11-02T14:39:20.563096Z"}],"nvd":[{"id":"CVE-2026-24408","description":"sigstore-python is a Python tool for generating and verifying Sigstore signatures. Prior to version 4.2.0, the sigstore-python OAuth authentication flow is susceptible to Cross-Site Request Forgery. `_OAuthSession` creates a unique \"state\" and sends it as a parameter in the authentication request but the \"state\" in the server response seems not not be cross-checked with this value. Version 4.2.0 contains a patch for the issue.","status":"published","published":"2026-01-26T23:16:08.973Z","modified":"2026-06-17T10:23:01.36Z","cvss":[{"version":"3.1","score":0,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:N","level":"none","assessor":"secondary"},{"version":"3.1","score":5,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L","level":"medium","assessor":"primary"}],"cwes":["CWE-352"],"updated_at":"2026-11-02T14:12:04.769088Z"}],"osv":[{"id":"CVE-2026-24408","title":"sigstore has CSRF possibility in OIDC authentication during signing","description":"sigstore-python is a Python tool for generating and verifying Sigstore signatures. Prior to version 4.2.0, the sigstore-python OAuth authentication flow is susceptible to Cross-Site Request Forgery. `_OAuthSession` creates a unique \"state\" and sends it as a parameter in the authentication request but the \"state\" in the server response seems not not be cross-checked with this value. Version 4.2.0 contains a patch for the issue.","status":"published","published":"2026-01-26T22:21:35.047Z","modified":"2026-10-28T02:30:30.943773295Z","cvss":[{"version":"3.1","score":0,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:N","level":"none"}],"cwes":["CWE-352"],"updated_at":"2026-11-02T15:44:59.079784Z"},{"id":"GHSA-hm8f-75xx-w2vr","title":"sigstore CSRF possibility in OIDC authentication during signing","description":"### Summary\n\nThe sigstore-python OAuth authentication flow is susceptible to Cross-Site Request Forgery.\n\n### Details\n\n`_OAuthSession` creates a unique \"state\" and sends it as a parameter in the authentication request but the \"state\" in the server response seems not not be cross-checked with this value. \n\nFix should be fairly trivial.\n\n### Impact\n\nThis should be low impact: A man-in-the middle attacker could trick a sigstore-python user into signing something with an identity controlled by the attacker (by returning the response to an authentication request they created). This would be quite confusing but not dangerous.","status":"published","published":"2026-01-26T21:34:50Z","modified":"2026-07-07T17:56:21.15464976Z","cvss":[{"version":"3.1","score":0,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:N","level":"none"}],"cwes":["CWE-352"],"updated_at":"2026-11-02T15:46:49.28217Z"},{"id":"PYSEC-2026-1924","title":"sigstore CSRF possibility in OIDC authentication during signing","description":"### Summary\n\nThe sigstore-python OAuth authentication flow is susceptible to Cross-Site Request Forgery.\n\n### Details\n\n`_OAuthSession` creates a unique \"state\" and sends it as a parameter in the authentication request but the \"state\" in the server response seems not not be cross-checked with this value. \n\nFix should be fairly trivial.\n\n### Impact\n\nThis should be low impact: A man-in-the middle attacker could trick a sigstore-python user into signing something with an identity controlled by the attacker (by returning the response to an authentication request they created). This would be quite confusing but not dangerous.","status":"published","published":"2026-07-07T16:03:20.418491Z","modified":"2026-07-07T17:47:52.920906253Z","cvss":[{"version":"3.1","score":0,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:N","level":"none"}],"updated_at":"2026-11-02T15:52:55.537808Z"},{"id":"openSUSE-SU-2026:10104-1","title":"python311-sigstore-4.2.0-1.1 on GA media","description":"These are all security issues fixed in the python311-sigstore-4.2.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-01-27T00:00:00Z","modified":"2026-03-23T04:54:27.181974Z","updated_at":"2026-11-02T16:58:38.101535Z"}]}}
