{"id":"CVE-2026-41710","aliases":["CLSA-2026-1786520698","CLSA-2026-1791318628","CLSA-2026-1791320662","CLSA-2026-1791455309","CLSA-2026-1791960902","CLSA-2026-1792010798","CLSA-2026-1792595488","CLSA-2026-1792596227","CLSA-2026-1792596234","CLSA-2026-1792596296","CLSA-2026-1792596369","CLSA-2026-1792596458","CLSA-2026-1792596683","CLSA-2026-1792596994","EUVD-2026-35321","GHSA-2827-2mxx-j8pv"],"status":"published","title":"Cache Exhaustion in Stateful Retries leads to Denial of Service","description":"An attacker can craft a large number of unique requests that trigger a failure, exhausting the capacity of the application-wide stateful retry cache. Once the cache is full, it permanently rejects any further updates, causing all later stateful retries and circuit breakers in the application to fail.\n\nAffected versions:\nSpring Retry 2.0.0 through 2.0.12; 1.3.0 through 1.3.4.","severity":{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.0028,"percentile":0.20668,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"cwes":["CWE-770"],"published":"2026-06-09T03:48:15Z","modified":"2026-10-28T02:31:05Z","exploits":[{"source":"pocgithub","id":"NicheToolkit/spring-retry-toolkit","title":"NicheToolkit/spring-retry-toolkit","date":"2026-08-10","url":"https://github.com/NicheToolkit/spring-retry-toolkit"}],"fixes":[{"ecosystem":"Maven","package":"org.springframework.retry:spring-retry","fixed_in":["2.0.13"],"sources":["ghsa","osv"]},{"ecosystem":"TuxCare:Maven","package":"org.springframework.retry:spring-retry","fixed_in":["1.3.4-tuxcare.1","2.0.11-tuxcare.1","2.0.12-tuxcare.1","2.0.10-tuxcare.1","1.2.1.RELEASE-tuxcare.1","1.0.2.RELEASE-tuxcare.2","1.3.1-tuxcare.1","1.3.3-tuxcare.1","1.2.5.RELEASE-tuxcare.1","2.0.6-tuxcare.1","2.0.4-tuxcare.1","1.2.2.RELEASE-tuxcare.1","1.1.5.RELEASE-tuxcare.1","1.2.4.RELEASE-tuxcare.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"last_affected":"2.0.12"},{"fixed":"2.0.13"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"1.3.4"}]}]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.3.4"},{"fixed":"1.3.4-tuxcare.1"}]}],"versions":["1.3.4","1.3.4.tuxcare"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.11"},{"fixed":"2.0.11-tuxcare.1"}]}],"versions":["2.0.11"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.12"},{"fixed":"2.0.12-tuxcare.1"}]}],"versions":["2.0.12"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.10"},{"fixed":"2.0.10-tuxcare.1"}]}],"versions":["2.0.10"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.2.1.RELEASE"},{"fixed":"1.2.1.RELEASE-tuxcare.1"}]}],"versions":["1.2.1.RELEASE"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0.2.RELEASE"},{"fixed":"1.0.2.RELEASE-tuxcare.2"}]}],"versions":["1.0.2.RELEASE","1.0.2.RELEASE-tuxcare.1"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.3.1"},{"fixed":"1.3.1-tuxcare.1"}]}],"versions":["1.3.1"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.3.3"},{"fixed":"1.3.3-tuxcare.1"}]}],"versions":["1.3.3"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.2.5.RELEASE"},{"fixed":"1.2.5.RELEASE-tuxcare.1"}]}],"versions":["1.2.5.RELEASE"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.6"},{"fixed":"2.0.6-tuxcare.1"}]}],"versions":["2.0.6"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.4"},{"fixed":"2.0.4-tuxcare.1"}]}],"versions":["2.0.4"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.2.2.RELEASE"},{"fixed":"1.2.2.RELEASE-tuxcare.1"}]}],"versions":["1.2.2.RELEASE"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.1.5.RELEASE"},{"fixed":"1.1.5.RELEASE-tuxcare.1"}]}],"versions":["1.1.5.RELEASE"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.2.4.RELEASE"},{"fixed":"1.2.4.RELEASE-tuxcare.1"}]}],"versions":["1.2.4.RELEASE"]},{"source":"osv","ecosystem":"Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"2.0.13"}]}],"versions":["2.0.0","2.0.1","2.0.10","2.0.11","2.0.12","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.0.9"]},{"source":"osv","ecosystem":"Maven","package":"org.springframework.retry:spring-retry","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"1.3.4"}]}],"versions":["1.0.0.RELEASE","1.0.1.RELEASE","1.0.2.RELEASE","1.0.3.RELEASE","1.1.0.RELEASE","1.1.1.RELEASE","1.1.2.RELEASE","1.1.3.RELEASE","1.1.4.RELEASE","1.1.5.RELEASE","1.2.0.RELEASE","1.2.1.RELEASE","1.2.2.RELEASE","1.2.3.RELEASE","1.2.4.RELEASE","1.2.5.RELEASE","1.3.0","1.3.1","1.3.2","1.3.3","1.3.4"]}],"products":[{"vendor":"broadcom","product":"spring_retry"},{"vendor":"spring","product":"spring retry"}],"references":[{"url":"https://spring.io/security/cve-2026-41710","tags":["Vendor Advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-41710","tags":["advisory"]},{"url":"https://github.com/spring-attic/spring-retry/issues/505","tags":["web"]},{"url":"https://github.com/spring-attic/spring-retry/commit/6f351edae3d3575fffbde3c0f62fef963dacd152","tags":["web"]},{"url":"https://github.com/spring-attic/spring-retry/releases/tag/v2.0.13","tags":["web"]},{"url":"https://github.com/advisories/GHSA-2827-2mxx-j8pv"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41710.json","tags":["advisory"]},{"url":"https://github.com/spring-projects/spring-retry","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-41710","title":"Cache Exhaustion in Stateful Retries leads to Denial of Service","description":"An attacker can craft a large number of unique requests that trigger a failure, exhausting the capacity of the application-wide stateful retry cache. Once the cache is full, it permanently rejects any further updates, causing all later stateful retries and circuit breakers in the application to fail.\n\nAffected versions:\nSpring Retry 2.0.0 through 2.0.12; 1.3.0 through 1.3.4.","status":"published","published":"2026-06-09T03:48:15.972Z","modified":"2026-06-23T20:40:24.254Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"cna"}],"cwes":["CWE-770"],"updated_at":"2026-11-02T13:41:08.498858Z"}],"euvd":[{"id":"EUVD-2026-35321","description":"An attacker can craft a large number of unique requests that trigger a failure, exhausting the capacity of the application-wide stateful retry cache. Once the cache is full, it permanently rejects any further updates, causing all later stateful retries and circuit breakers in the application to fail.\n\nAffected versions:\nSpring Retry 2.0.0 through 2.0.12; 1.3.0 through 1.3.4.","status":"published","published":"2026-06-09T03:48:15Z","modified":"2026-06-23T20:40:24Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-02T18:20:31.51905Z"}],"ghsa":[{"id":"GHSA-2827-2mxx-j8pv","title":"Spring Retry has Cache Exhaustion in Stateful Retries that leads to Denial of Service","description":"An attacker can craft a large number of unique requests that trigger a failure, exhausting the capacity of the application-wide stateful retry cache. Once the cache is full, it permanently rejects any further updates, causing all later stateful retries and circuit breakers in the application to fail.\n\nAffected versions:\nSpring Retry 2.0.0 through 2.0.12; 1.3.0 through 1.3.4.","status":"published","published":"2026-06-09T06:31:57Z","modified":"2026-07-29T18:10:45Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-770"],"updated_at":"2026-11-02T14:40:54.767849Z"}],"nvd":[{"id":"CVE-2026-41710","description":"An attacker can craft a large number of unique requests that trigger a failure, exhausting the capacity of the application-wide stateful retry cache. Once the cache is full, it permanently rejects any further updates, causing all later stateful retries and circuit breakers in the application to fail.\n\nAffected versions:\nSpring Retry 2.0.0 through 2.0.12; 1.3.0 through 1.3.4.","status":"published","published":"2026-06-09T05:16:35.147Z","modified":"2026-09-04T20:03:40.08Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium","assessor":"secondary"}],"cwes":["CWE-770"],"updated_at":"2026-11-02T14:12:22.73178Z"}],"osv":[{"id":"CVE-2026-41710","title":"Cache Exhaustion in Stateful Retries leads to Denial of Service","description":"An attacker can craft a large number of unique requests that trigger a failure, exhausting the capacity of the application-wide stateful retry cache. Once the cache is full, it permanently rejects any further updates, causing all later stateful retries and circuit breakers in the application to fail.\n\nAffected versions:\nSpring Retry 2.0.0 through 2.0.12; 1.3.0 through 1.3.4.","status":"published","published":"2026-06-09T03:48:15.972Z","modified":"2026-10-28T02:31:05.340441706Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-770"],"updated_at":"2026-11-02T15:45:03.764807Z"},{"id":"GHSA-2827-2mxx-j8pv","title":"Spring Retry has Cache Exhaustion in Stateful Retries that leads to Denial of Service","description":"An attacker can craft a large number of unique requests that trigger a failure, exhausting the capacity of the application-wide stateful retry cache. Once the cache is full, it permanently rejects any further updates, causing all later stateful retries and circuit breakers in the application to fail.\n\nAffected versions:\nSpring Retry 2.0.0 through 2.0.12; 1.3.0 through 1.3.4.","status":"published","published":"2026-06-09T06:31:57Z","modified":"2026-07-29T18:41:44.617631Z","cvss":[{"version":"3.1","score":5.9,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"medium"}],"cwes":["CWE-770"],"updated_at":"2026-11-02T15:46:33.956911Z"},{"id":"CLSA-2026-1786520698","title":"TuxCare security update for org.springframework.retry:spring-retry (1 CVE)","description":"TuxCare rebuilt org.springframework.retry:spring-retry to address 1 CVE. Fixed in 1.3.4-tuxcare.1.","status":"published","published":"2026-08-12T07:44:58Z","modified":"2026-10-15T09:46:52.792600317Z","updated_at":"2026-11-02T15:43:46.850893Z"},{"id":"CLSA-2026-1791318628","title":"TuxCare security update for org.springframework.retry:spring-retry (1 CVE)","description":"TuxCare rebuilt org.springframework.retry:spring-retry to address 1 CVE. Fixed in 2.0.11-tuxcare.1.","status":"published","published":"2026-10-06T20:30:28Z","modified":"2026-10-15T09:45:38.601998091Z","updated_at":"2026-11-02T15:43:49.016976Z"},{"id":"CLSA-2026-1791320662","title":"TuxCare security update for org.springframework.retry:spring-retry (1 CVE)","description":"TuxCare rebuilt org.springframework.retry:spring-retry to address 1 CVE. Fixed in 2.0.12-tuxcare.1.","status":"published","published":"2026-10-06T21:04:22Z","modified":"2026-10-15T09:45:37.89343766Z","updated_at":"2026-11-02T15:43:49.016976Z"},{"id":"CLSA-2026-1791455309","title":"TuxCare security update for org.springframework.retry:spring-retry (1 CVE)","description":"TuxCare rebuilt org.springframework.retry:spring-retry to address 1 CVE. Fixed in 2.0.10-tuxcare.1.","status":"published","published":"2026-10-08T10:28:29Z","modified":"2026-10-15T09:45:38.091008838Z","updated_at":"2026-11-02T15:43:49.016976Z"},{"id":"CLSA-2026-1791960902","title":"TuxCare security update for org.springframework.retry:spring-retry (1 CVE)","description":"TuxCare rebuilt org.springframework.retry:spring-retry to address 1 CVE. Fixed in 1.2.1.RELEASE-tuxcare.1.","status":"published","published":"2026-10-14T06:55:02Z","modified":"2026-10-15T09:45:55.094271092Z","updated_at":"2026-11-02T15:43:50.599064Z"},{"id":"CLSA-2026-1792010798","title":"TuxCare security update for org.springframework.retry:spring-retry (1 CVE)","description":"TuxCare rebuilt org.springframework.retry:spring-retry to address 1 CVE. Fixed in 1.0.2.RELEASE-tuxcare.2.","status":"published","published":"2026-10-14T20:46:38Z","modified":"2026-10-15T09:47:34.700361037Z","updated_at":"2026-11-02T15:43:50.599064Z"},{"id":"CLSA-2026-1792595488","title":"TuxCare security update for org.springframework.retry:spring-retry (1 CVE)","description":"TuxCare rebuilt org.springframework.retry:spring-retry to address 1 CVE. Fixed in 1.3.1-tuxcare.1.","status":"published","published":"2026-10-21T15:11:28Z","modified":"2026-10-21T20:30:04.87700646Z","updated_at":"2026-11-02T15:43:54.672859Z"},{"id":"CLSA-2026-1792596227","title":"TuxCare security update for org.springframework.retry:spring-retry (1 CVE)","description":"TuxCare rebuilt org.springframework.retry:spring-retry to address 1 CVE. Fixed in 1.3.3-tuxcare.1.","status":"published","published":"2026-10-21T15:23:47Z","modified":"2026-10-21T20:30:06.122808573Z","updated_at":"2026-11-02T15:43:54.672859Z"},{"id":"CLSA-2026-1792596234","title":"TuxCare security update for org.springframework.retry:spring-retry (1 CVE)","description":"TuxCare rebuilt org.springframework.retry:spring-retry to address 1 CVE. Fixed in 1.2.5.RELEASE-tuxcare.1.","status":"published","published":"2026-10-21T15:23:54Z","modified":"2026-10-21T20:30:03.318322352Z","updated_at":"2026-11-02T15:43:54.672859Z"},{"id":"CLSA-2026-1792596296","title":"TuxCare security update for org.springframework.retry:spring-retry (1 CVE)","description":"TuxCare rebuilt org.springframework.retry:spring-retry to address 1 CVE. Fixed in 2.0.6-tuxcare.1.","status":"published","published":"2026-10-21T15:24:56Z","modified":"2026-10-21T20:30:03.713844059Z","updated_at":"2026-11-02T15:43:54.672859Z"},{"id":"CLSA-2026-1792596369","title":"TuxCare security update for org.springframework.retry:spring-retry (1 CVE)","description":"TuxCare rebuilt org.springframework.retry:spring-retry to address 1 CVE. Fixed in 2.0.4-tuxcare.1.","status":"published","published":"2026-10-21T15:26:09Z","modified":"2026-10-21T20:30:05.677542511Z","updated_at":"2026-11-02T15:43:54.672859Z"},{"id":"CLSA-2026-1792596458","title":"TuxCare security update for org.springframework.retry:spring-retry (1 CVE)","description":"TuxCare rebuilt org.springframework.retry:spring-retry to address 1 CVE. Fixed in 1.2.2.RELEASE-tuxcare.1.","status":"published","published":"2026-10-21T15:27:38Z","modified":"2026-10-21T20:30:03.219646764Z","updated_at":"2026-11-02T15:43:54.672859Z"},{"id":"CLSA-2026-1792596683","title":"TuxCare security update for org.springframework.retry:spring-retry (1 CVE)","description":"TuxCare rebuilt org.springframework.retry:spring-retry to address 1 CVE. Fixed in 1.1.5.RELEASE-tuxcare.1.","status":"published","published":"2026-10-21T15:31:23Z","modified":"2026-10-21T20:30:06.176538518Z","updated_at":"2026-11-02T15:43:54.672859Z"},{"id":"CLSA-2026-1792596994","title":"TuxCare security update for org.springframework.retry:spring-retry (1 CVE)","description":"TuxCare rebuilt org.springframework.retry:spring-retry to address 1 CVE. Fixed in 1.2.4.RELEASE-tuxcare.1.","status":"published","published":"2026-10-21T15:36:34Z","modified":"2026-10-21T20:30:03.814448403Z","updated_at":"2026-11-02T15:43:54.672859Z"}]}}
