{"id":"CVE-2026-22751","aliases":["CLSA-2026-1779151636","CLSA-2026-1787157249","EUVD-2026-24227","GHSA-vxf7-qj7q-83fh","GHSA-x2wq-9x2f-fhj7","RHLW-2026-8fd370b9b3e9924a","ROOT-APP-MAVEN-CVE-2026-22751"],"status":"published","title":"Spring Security JdbcOneTimeTokenService allows a one-time token to authenticate multiple sessions","description":"Vulnerability in Spring Spring Security. Applications that explicitly configure One-Time Token login with JdbcOneTimeTokenService are vulnerable to a Time-of-check Time-of-use (TOCTOU) race condition. This issue affects Spring Security: from 6.4.0 through 6.4.15, from 6.5.0 through 6.5.9, from 7.0.0 through 7.0.4.","severity":{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00124,"percentile":0.02188,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-367"],"published":"2026-04-21T18:30:35Z","modified":"2026-11-02T19:45:56Z","fixes":[{"ecosystem":"Maven","package":"org.springframework.security:spring-security-core","fixed_in":["6.5.10","7.0.5"],"sources":["ghsa","osv"]},{"ecosystem":"Root:Maven","package":"io.root.org.springframework.security:spring-security-core","fixed_in":["6.5.9-root.io.1","6.5.9-root.io.2","6.5.9-root.io.3","6.5.9-root.io.4","6.5.9-root.io.5"],"sources":["osv"]},{"ecosystem":"Root:Maven","package":"org.springframework.security:spring-security-core","fixed_in":["6.5.9-aikido.2","6.5.9-aikido.3","6.5.9-aikido.4","6.5.9-aikido.5"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.springframework.security:spring-security-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.5.0"},{"fixed":"6.5.10"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.springframework.security:spring-security-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"7.0.3"},{"fixed":"7.0.5"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.springframework.security:spring-security-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.4.0"},{"last_affected":"6.4.13"}]}]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.security:spring-security-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.4.3"},{"fixed":"6.4.3-tuxcare.2"}]}],"versions":["6.4.3","6.4.3-tuxcare.1"],"bundled":2},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.security:spring-security-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.4.13"},{"fixed":"6.4.13-tuxcare.2"}]}],"versions":["6.4.13","6.4.13-tuxcare.1"],"bundled":6},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.security:spring-security-oauth2-jose","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.4.13"},{"fixed":"6.4.13-tuxcare.2"}]}],"versions":["6.4.13","6.4.13-tuxcare.1"],"bundled":6},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.security:spring-security-saml2-service-provider","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.4.13"},{"fixed":"6.4.13-tuxcare.2"}]}],"versions":["6.4.13","6.4.13-tuxcare.1"],"bundled":6},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.security:spring-security-web","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.4.13"},{"fixed":"6.4.13-tuxcare.2"}]}],"versions":["6.4.13","6.4.13-tuxcare.1"],"bundled":6},{"source":"osv","ecosystem":"Maven","package":"org.springframework.security:spring-security-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.5.0"},{"fixed":"6.5.10"}]}],"versions":["6.5.0","6.5.1","6.5.2","6.5.3","6.5.4","6.5.5","6.5.6","6.5.7","6.5.8","6.5.9"]},{"source":"osv","ecosystem":"Maven","package":"org.springframework.security:spring-security-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"7.0.3"},{"fixed":"7.0.5"}]}],"versions":["7.0.3","7.0.4"]},{"source":"osv","ecosystem":"Maven","package":"org.springframework.security:spring-security-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.4.0"},{"last_affected":"6.4.13"}]}],"versions":["6.4.0","6.4.1","6.4.10","6.4.11","6.4.12","6.4.13","6.4.2","6.4.3","6.4.4","6.4.5","6.4.6","6.4.7","6.4.8","6.4.9"]},{"source":"osv","ecosystem":"Red Hat Lightwell:Maven","package":"org.springframework.security:spring-security-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.5.7.rhlw-00002"}]}],"versions":["2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5.RELEASE","2.0.6.RELEASE","2.0.7.RELEASE","2.0.8.RELEASE","3.0.0.RELEASE","3.0.1.RELEASE","3.0.2.RELEASE","3.0.3.RELEASE","3.0.4.RELEASE","3.0.5.RELEASE","3.0.6.RELEASE","3.0.7.RELEASE","3.0.8.RELEASE","3.1.0.RELEASE","3.1.1.RELEASE","3.1.2.RELEASE","3.1.3.RELEASE","3.1.4.RELEASE","3.1.5.RELEASE","3.1.6.RELEASE","3.1.7.RELEASE","3.2.0.RELEASE","3.2.1.RELEASE","3.2.10.RELEASE","3.2.2.RELEASE","3.2.3.RELEASE","3.2.4.RELEASE","3.2.5.RELEASE","3.2.6.RELEASE","3.2.7.RELEASE","3.2.8.RELEASE","3.2.9.RELEASE","4.0.0.RELEASE","4.0.1.RELEASE","4.0.2.RELEASE","4.0.3.RELEASE","4.0.4.RELEASE","4.1.0.RELEASE","4.1.1.RELEASE","4.1.2.RELEASE","4.1.3.RELEASE","4.1.4.RELEASE","4.1.5.RELEASE","4.2.0.RELEASE","4.2.1.RELEASE","4.2.10.RELEASE","4.2.11.RELEASE","4.2.12.RELEASE","4.2.13.RELEASE","4.2.14.RELEASE","4.2.15.RELEASE","4.2.16.RELEASE","4.2.17.RELEASE","4.2.18.RELEASE","4.2.19.RELEASE","4.2.2.RELEASE","4.2.20.RELEASE","4.2.3.RELEASE","4.2.4.RELEASE","4.2.5.RELEASE","4.2.6.RELEASE","4.2.7.RELEASE","4.2.8.RELEASE","4.2.9.RELEASE","5.0.0.RELEASE","5.0.1.RELEASE","5.0.10.RELEASE","5.0.11.RELEASE","5.0.12.RELEASE","5.0.13.RELEASE","5.0.14.RELEASE","5.0.15.RELEASE","5.0.16.RELEASE","5.0.17.RELEASE","5.0.18.RELEASE","5.0.19.RELEASE","5.0.2.RELEASE","5.0.3.RELEASE","5.0.4.RELEASE","5.0.5.RELEASE","5.0.6.RELEASE","5.0.7.RELEASE","5.0.8.RELEASE","5.0.9.RELEASE","5.1.0.RELEASE","5.1.1.RELEASE","5.1.10.RELEASE","5.1.11.RELEASE","5.1.12.RELEASE","5.1.13.RELEASE","5.1.2.RELEASE","5.1.3.RELEASE","5.1.4.RELEASE","5.1.5.RELEASE","5.1.6.RELEASE","5.1.7.RELEASE","5.1.8.RELEASE","5.1.9.RELEASE","5.2.0.RELEASE","5.2.1.RELEASE","5.2.10.RELEASE","5.2.11.RELEASE","5.2.12.RELEASE","5.2.13.RELEASE","5.2.14.RELEASE","5.2.15.RELEASE","5.2.2.RELEASE","5.2.3.RELEASE","5.2.4.RELEASE","5.2.5.RELEASE","5.2.6.RELEASE","5.2.7.RELEASE","5.2.8.RELEASE","5.2.9.RELEASE","5.3.0.RELEASE","5.3.1.RELEASE","5.3.10.RELEASE","5.3.11.RELEASE","5.3.12.RELEASE","5.3.13.RELEASE","5.3.2.RELEASE","5.3.3.RELEASE","5.3.4.RELEASE","5.3.5.RELEASE","5.3.6.RELEASE","5.3.7.RELEASE","5.3.8.RELEASE","5.3.9.RELEASE","5.4.0","5.4.1","5.4.10","5.4.11","5.4.2","5.4.3","5.4.4","5.4.5","5.4.6","5.4.7","5.4.8","5.4.9","5.5.0","5.5.1","5.5.2","5.5.3","5.5.4","5.5.5","5.5.6","5.5.7","5.5.8","5.6.0","5.6.1","5.6.10","5.6.11","5.6.12","5.6.2","5.6.3","5.6.4","5.6.5","5.6.6","5.6.7","5.6.8","5.6.9","5.7.0","5.7.1","5.7.10","5.7.11","5.7.12","5.7.13","5.7.14","5.7.2","5.7.3","5.7.4","5.7.5","5.7.6","5.7.7","5.7.8","5.7.9","5.8.0","5.8.1","5.8.10","5.8.11","5.8.12","5.8.13","5.8.14","5.8.15","5.8.16","5.8.2","5.8.3","5.8.4","5.8.5","5.8.6","5.8.7","5.8.8","5.8.9","6.0.0","6.0.1","6.0.2","6.0.3","6.0.4","6.0.5","6.0.6","6.0.7","6.0.8","6.1.0","6.1.1","6.1.2","6.1.3","6.1.4","6.1.5","6.1.6","6.1.7","6.1.8","6.1.9","6.2.0","6.2.1","6.2.2","6.2.3","6.2.4","6.2.5","6.2.6","6.2.7","6.2.8","6.3.0","6.3.1","6.3.10","6.3.2","6.3.3","6.3.4","6.3.5","6.3.6","6.3.7","6.3.8","6.3.9","6.4.0","6.4.1","6.4.10","6.4.11","6.4.12","6.4.13","6.4.2","6.4.3","6.4.4","6.4.5","6.4.6","6.4.7","6.4.8","6.4.9","6.5.0","6.5.1","6.5.2","6.5.3","6.5.4","6.5.5","6.5.6","6.5.7"],"bundled":2},{"source":"osv","ecosystem":"Root:Maven","package":"io.root.org.springframework.security:spring-security-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.5.9-root.io.1"},{"fixed":"6.5.9-root.io.2"},{"fixed":"6.5.9-root.io.3"},{"fixed":"6.5.9-root.io.4"},{"fixed":"6.5.9-root.io.5"}]}]},{"source":"osv","ecosystem":"Root:Maven","package":"org.springframework.security:spring-security-core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.5.9-aikido.2"},{"fixed":"6.5.9-aikido.3"},{"fixed":"6.5.9-aikido.4"},{"fixed":"6.5.9-aikido.5"}]}]}],"products":[{"vendor":"spring","product":"spring security"},{"vendor":"vmware","product":"spring_security"}],"references":[{"url":"https://spring.io/security/cve-2026-22751","tags":["Vendor Advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-22751","tags":["advisory"]},{"url":"https://github.com/spring-projects/spring-security/commit/163772775036c4146815a5266874278c6f45f047","tags":["web"]},{"url":"https://github.com/spring-projects/spring-security/commit/4187af38b251fc97fdf9949f7869618111e6e261","tags":["web"]},{"url":"https://jinyeong.seol.pro/blogs/cve-2026-22751/en","tags":["web"]},{"url":"https://github.com/advisories/GHSA-x2wq-9x2f-fhj7","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/22xxx/CVE-2026-22751.json","tags":["advisory"]},{"url":"https://github.com/spring-projects/spring-security","tags":["package"]},{"url":"https://spring.io/security/cve-2026-22746","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/22xxx/CVE-2026-22746.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-22746","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-vxf7-qj7q-83fh","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-22751","title":"Spring Security JdbcOneTimeTokenService allows a one-time token to authenticate multiple sessions","description":"Vulnerability in Spring Spring Security. Applications that explicitly configure One-Time Token login with JdbcOneTimeTokenService are vulnerable to a Time-of-check Time-of-use (TOCTOU) race condition. This issue affects Spring Security: from 6.4.0 through 6.4.15, from 6.5.0 through 6.5.9, from 7.0.0 through 7.0.4.","status":"published","published":"2026-04-21T18:30:35.428Z","modified":"2026-04-21T18:44:34.841Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-367"],"updated_at":"2026-11-02T13:39:16.730222Z"}],"euvd":[{"id":"EUVD-2026-24227","description":"Vulnerability in Spring Spring Security. Applications that explicitly configure One-Time Token login with JdbcOneTimeTokenService are vulnerable to a Time-of-check Time-of-use (TOCTOU) race condition. This issue affects Spring Security: from 6.4.0 through 6.4.15, from 6.5.0 through 6.5.9, from 7.0.0 through 7.0.4.","status":"published","published":"2026-04-21T18:30:35Z","modified":"2026-04-21T18:44:34Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T19:24:21.512647Z"}],"ghsa":[{"id":"GHSA-x2wq-9x2f-fhj7","title":"Spring Security Core has a TOCTOU race condition when One-Time Token login with JdbcOneTimeTokenService is configured","description":"Vulnerability in Spring Spring Security. Applications that explicitly configure One-Time Token login with JdbcOneTimeTokenService are vulnerable to a Time-of-check Time-of-use (TOCTOU) race condition. This issue affects Spring Security: from 6.4.0 through 6.4.15, from 6.5.0 through 6.5.9, from 7.0.0 through 7.0.4.","status":"published","published":"2026-04-21T21:31:23Z","modified":"2026-07-17T20:48:58Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-367"],"updated_at":"2026-11-02T14:40:46.257074Z"}],"nvd":[{"id":"CVE-2026-22751","description":"Vulnerability in Spring Spring Security. Applications that explicitly configure One-Time Token login with JdbcOneTimeTokenService are vulnerable to a Time-of-check Time-of-use (TOCTOU) race condition. This issue affects Spring Security: from 6.4.0 through 6.4.15, from 6.5.0 through 6.5.9, from 7.0.0 through 7.0.4.","status":"published","published":"2026-04-21T19:16:16.55Z","modified":"2026-10-26T21:10:00.17Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-367"],"updated_at":"2026-11-02T14:12:15.493943Z"}],"osv":[{"id":"CVE-2026-22751","title":"Spring Security JdbcOneTimeTokenService allows a one-time token to authenticate multiple sessions","description":"Vulnerability in Spring Spring Security. Applications that explicitly configure One-Time Token login with JdbcOneTimeTokenService are vulnerable to a Time-of-check Time-of-use (TOCTOU) race condition. This issue affects Spring Security: from 6.4.0 through 6.4.15, from 6.5.0 through 6.5.9, from 7.0.0 through 7.0.4.","status":"published","published":"2026-04-21T18:30:35.428Z","modified":"2026-10-28T02:30:22.466725389Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:58.42038Z"},{"id":"GHSA-x2wq-9x2f-fhj7","title":"Spring Security Core has a TOCTOU race condition when One-Time Token login with JdbcOneTimeTokenService is configured","description":"Vulnerability in Spring Spring Security. Applications that explicitly configure One-Time Token login with JdbcOneTimeTokenService are vulnerable to a Time-of-check Time-of-use (TOCTOU) race condition. This issue affects Spring Security: from 6.4.0 through 6.4.15, from 6.5.0 through 6.5.9, from 7.0.0 through 7.0.4.","status":"published","published":"2026-04-21T21:31:23Z","modified":"2026-09-10T03:51:03.926805089Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-367"],"updated_at":"2026-11-02T15:46:59.484835Z"},{"id":"RHLW-2026-8fd370b9b3e9924a","title":"Lightwell Security Advisory: spring-security-core 6.5.7.rhlw-00002","description":"Red Hat Lightwell has released org.springframework.security:spring-security-core 6.5.7.rhlw-00002 with backported fixes for CVE-2026-22746 and CVE-2026-22751.\n\nCVE-2026-22746: User Attribute Enumeration when Using DaoAuthenticationProvider\n\nCVE-2026-22751: Spring Security JdbcOneTimeTokenService allows a one-time token to authenticate multiple sessions\n\nThis patched artifact is a drop-in replacement for org.springframework.security:spring-security-core 6.5.7 from Maven Central.","status":"published","published":"2026-09-10T14:57:49Z","modified":"2026-10-27T04:00:15.659376184Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"updated_at":"2026-11-02T15:52:58.636919Z"},{"id":"ROOT-APP-MAVEN-CVE-2026-22751","title":"CVE-2026-22751 in io.root.org.springframework.security:spring-security-core - Patched by Root","description":"Root has patched CVE-2026-22751 in the io.root.org.springframework.security:spring-security-core package for Root:Maven. Multiple fixed versions available.","status":"published","published":"2026-07-29T14:49:52Z","modified":"2026-07-29T19:00:12.71795348Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:53:27.066589Z"},{"id":"CLSA-2026-1779151636","title":"TuxCare security update for org.springframework.security:spring-security-core (2 CVEs)","description":"TuxCare rebuilt org.springframework.security:spring-security-core to address 2 CVEs. Fixed in 6.4.3-tuxcare.2.","status":"published","published":"2026-08-04T14:52:32Z","modified":"2026-11-02T19:45:31.889237575Z","updated_at":"2026-11-02T20:30:18.404297Z"},{"id":"CLSA-2026-1787157249","title":"TuxCare security update for org.springframework.security (6 CVEs)","description":"TuxCare rebuilt 4 org.springframework.security packages to address 6 CVEs. Fixed in 6.4.13-tuxcare.2.","status":"published","published":"2026-08-19T16:34:09Z","modified":"2026-11-02T19:45:56.682102632Z","updated_at":"2026-11-02T20:29:49.757752Z"}]}}
