{"id":"CVE-2023-41935","aliases":["EUVD-2023-2522","GHSA-hj7p-h74j-6gxj"],"status":"published","title":"Non-constant time nonce comparison in Jenkins Microsoft Entra ID (previously Azure AD) Plugin","description":"Jenkins Azure AD Plugin 396.v86ce29279947 and earlier, except 378.380.v545b_1154b_3fb_, uses a non-constant time comparison function when checking whether the provided and expected CSRF protection nonce are equal, potentially allowing attackers to use statistical methods to obtain a valid nonce.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-11","score":0.00809,"percentile":0.57304,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-697"],"published":"2023-09-06T12:08:55Z","modified":"2026-10-24T10:30:28Z","fixes":[{"ecosystem":"Maven","package":"org.jenkins-ci.plugins:azure-ad","fixed_in":["397.v907382dd9b","378.vd6e2874a"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.jenkins-ci.plugins:azure-ad","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"378.380.v545b"},{"last_affected":"396.v86ce29279947"},{"fixed":"397.v907382dd9b"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.jenkins-ci.plugins:azure-ad","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"378.vd6e2874a"}]}]},{"source":"osv","ecosystem":"Maven","package":"org.jenkins-ci.plugins:azure-ad","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"378.380.v545b"},{"fixed":"397.v907382dd9b"}]}],"versions":["378.380.v545b_1154b_3fb_","385.v5d9f88612dd2","391.v252da_e1dd39c","392.v4e15d33fe85d","393.v03d1cfd50759","396.v86ce29279947"]},{"source":"osv","ecosystem":"Maven","package":"org.jenkins-ci.plugins:azure-ad","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"378.vd6e2874a"}]}],"versions":["0.1.1","0.1.1-1","0.2.0","0.3.0","0.3.1","0.3.2","0.3.3","0.3.4","1.0.0","1.1.0","1.1.1","1.1.2","1.2.0","1.2.1","1.2.2","1.2.3","146.vb688d1511c38","150.vb3db9f880321","152.v1609ed460604","153.v7af57b288088","154.v12e17a5f9ea3","155.v745ce80af7ea","157.v2d3d5782a602","158.v437429002c6b","164.v5b48baa961d2","165.v36344b7d7ca7","167.v34c2c5a3a030","168.ve6e7e368dbf6","170.v0a6219442a99","171.v9ef20c94d336","172.vf6a517c3329a","173.v0a210fffb510","174.vc2d906355813","175.v5513346d764a","177.v80b6c1591bf9","178.v7b93892fbe4c","179.vf6841393099e","180.v8b1e80e6f242","183.vf8c6fa4c6567","184.v44f04b65bdd5","185.v3b416408dcb1","188.v2369adb95a31","189.v2da14dccdb43","190.v872b1977148a","191.vfc8019068670","194.v70a6d5203ce4","195.v8555a0bf0d22","213.v5b_00db_295f49","218.v90f6a_980b_a_61","233.v934e074916c7","234.vb_ece34ecd5ff","241.vb_e5cd7c35b_2e","267.v5b_dfb_514d9fd","303.va_91ef20ee49f","306.va_7083923fd50","308.v10a_6e24f30b_4","313.v14b_f37ff114d","336.vd05b_01358644","340.vdef002cf6415","345.vdb_07735a_767d","348.vefd011eea_20b_","349.vc02b_a_0b_142a_8"]}],"products":[{"vendor":"jenkins","product":"azure_ad"},{"vendor":"jenkins project","product":"jenkins azure ad plugin"}],"references":[{"url":"https://www.jenkins.io/security/advisory/2023-09-06/#SECURITY-3227","tags":["vendor-advisory","x_transferred","Vendor Advisory","advisory","web"]},{"url":"http://www.openwall.com/lists/oss-security/2023/09/06/9","tags":["x_transferred","Mailing List","Third Party Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-41935","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-hj7p-h74j-6gxj"}],"sources":{"cve":[{"id":"CVE-2023-41935","description":"Jenkins Azure AD Plugin 396.v86ce29279947 and earlier, except 378.380.v545b_1154b_3fb_, uses a non-constant time comparison function when checking whether the provided and expected CSRF protection nonce are equal, potentially allowing attackers to use statistical methods to obtain a valid nonce.","status":"published","published":"2023-09-06T12:08:55.693Z","modified":"2024-09-26T19:55:15.254Z","updated_at":"2026-11-02T14:35:19.217111Z"}],"euvd":[{"id":"EUVD-2023-2522","description":"Jenkins Azure AD Plugin 396.v86ce29279947 and earlier, except 378.380.v545b_1154b_3fb_, uses a non-constant time comparison function when checking whether the provided and expected CSRF protection nonce are equal, potentially allowing attackers to use statistical methods to obtain a valid nonce.","status":"published","published":"2023-09-06T12:08:55Z","modified":"2024-09-26T19:55:15Z","cvss":[{"version":"","score":0,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"none"}],"updated_at":"2026-11-03T00:28:07.565611Z"}],"ghsa":[{"id":"GHSA-hj7p-h74j-6gxj","title":"Non-constant time nonce comparison in Jenkins Microsoft Entra ID (previously Azure AD) Plugin","description":"Jenkins Azure AD Plugin 396.v86ce29279947 and earlier, except 378.380.v545b_1154b_3fb_, uses a non-constant time comparison function when checking whether the provided and expected CSRF protection nonce are equal, potentially allowing attackers to use statistical methods to obtain a valid nonce.","status":"published","published":"2023-09-06T15:30:26Z","modified":"2024-01-30T23:10:46Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-697"],"updated_at":"2026-11-02T14:37:33.621286Z"}],"nvd":[{"id":"CVE-2023-41935","description":"Jenkins Azure AD Plugin 396.v86ce29279947 and earlier, except 378.380.v545b_1154b_3fb_, uses a non-constant time comparison function when checking whether the provided and expected CSRF protection nonce are equal, potentially allowing attackers to use statistical methods to obtain a valid nonce.","status":"published","published":"2023-09-06T13:15:10.297Z","modified":"2026-06-17T06:23:06.197Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"primary"}],"cwes":["CWE-697"],"updated_at":"2026-11-02T14:08:28.268644Z"}],"osv":[{"id":"CVE-2023-41935","description":"Jenkins Azure AD Plugin 396.v86ce29279947 and earlier, except 378.380.v545b_1154b_3fb_, uses a non-constant time comparison function when checking whether the provided and expected CSRF protection nonce are equal, potentially allowing attackers to use statistical methods to obtain a valid nonce.","status":"published","published":"2023-09-06T13:15:10.297Z","modified":"2026-10-24T10:30:28.658183405Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"updated_at":"2026-11-02T15:44:33.244128Z"},{"id":"GHSA-hj7p-h74j-6gxj","title":"Non-constant time nonce comparison in Jenkins Microsoft Entra ID (previously Azure AD) Plugin","description":"Jenkins Azure AD Plugin 396.v86ce29279947 and earlier, except 378.380.v545b_1154b_3fb_, uses a non-constant time comparison function when checking whether the provided and expected CSRF protection nonce are equal, potentially allowing attackers to use statistical methods to obtain a valid nonce.","status":"published","published":"2023-09-06T15:30:26Z","modified":"2024-02-16T08:17:58.796279Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-697"],"updated_at":"2026-11-02T15:46:49.28217Z"}]}}
