{"id":"PSF-2023-6","summary":"hmac.compare_digest() accumulator not constant-time","details":"An issue was discovered in compare_digest in Lib/hmac.py in Python through 3.9.1. Constant-time-defeating optimisations were possible in the accumulator variable in hmac.compare_digest.","aliases":["BIT-libpython-2022-48566","BIT-python-2022-48566","BIT-python-2023-38898","BIT-python-min-2022-48566","CVE-2022-48566","CVE-2023-38898","GHSA-cgfh-jp5w-8cmx","PSF-2023-7"],"modified":"2025-10-09T01:04:06.128041Z","published":"2023-08-24T00:00:00Z","references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-48566"},{"type":"WEB","url":"https://bugs.python.org/issue40791"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/python/cpython","events":[{"introduced":"0"},{"fixed":"31729366e2bc09632e78f3896dbce0ae64914f28"},{"fixed":"c1bbca5b004b3f74d240ef8a76ff445cc1a27efb"},{"fixed":"97136d71a78a4b6b816f7e14acc52be426efcb6f"},{"fixed":"db95802bdfac4d13db3e2a391ec7b9e2f8d92dbe"},{"fixed":"8bef9ebb1b88cfa4b2a38b93fe4ea22015d8254a"}]}],"versions":["2.5","3.2","v0.9.8","v0.9.9","v1.0.1","v1.0.2","v1.1","v1.1.1","v1.2","v1.2b1","v1.2b2","v1.2b3","v1.2b4","v1.3","v1.3b1","v1.4","v1.4b1","v1.4b2","v1.4b3","v1.5","v1.5.1","v1.5.2","v1.5.2a1","v1.5.2a2","v1.5.2b1","v1.5.2b2","v1.5.2c1","v1.5a1","v1.5a2","v1.5a3","v1.5a4","v1.5b1","v1.5b2","v1.6a1","v1.6a2","v2.0","v2.0b1","v2.0b2","v2.0c1","v2.1","v2.1a1","v2.1a2","v2.1b1","v2.1b2","v2.1c1","v2.1c2","v2.2a3","v2.3c1","v2.3c2","v2.4","v2.4a1","v2.4a2","v2.4a3","v2.4b1","v2.4b2","v2.4c1","v2.5","v2.5.1","v2.5.1c1","v2.5.2","v2.5.2c1","v2.5.3","v2.5.3c1","v2.5.4","v2.5.5","v2.5.5c1","v2.5.5c2","v2.5.6","v2.5.6c1","v2.5a0","v2.5a1","v2.5a2","v2.5b1","v2.5b2","v2.5b3","v2.5c1","v2.5c2","v2.6","v2.6.1","v2.6.2","v2.6.2c1","v2.6.3","v2.6.3rc1","v2.6.4","v2.6.4rc1","v2.6.4rc2","v2.6.5","v2.6.5rc1","v2.6.5rc2","v2.6.6","v2.6.6rc1","v2.6.6rc2","v2.6.7","v2.6.8","v2.6.8rc1","v2.6.8rc2","v2.6a1","v2.6a2","v2.6a3","v2.6b1","v2.6b2","v2.6b3","v2.6rc1","v2.6rc2","v2.7","v2.7.1","v2.7.1rc1","v2.7.2","v2.7.2rc1","v2.7.3","v2.7.3rc1","v2.7.3rc2","v2.7.4rc1","v2.7a1","v2.7a2","v2.7a3","v2.7a4","v2.7b1","v2.7b2","v2.7rc1","v2.7rc2","v3.0a1","v3.0a2","v3.0a3","v3.0a4","v3.0a5","v3.0b1","v3.0b2","v3.0b3","v3.0rc1","v3.0rc2","v3.0rc3","v3.1","v3.1.1","v3.1.1rc1","v3.1.2","v3.1.2rc1","v3.1.3","v3.1.3rc1","v3.1.4","v3.1.4rc1","v3.1.5","v3.1.5rc1","v3.1.5rc2","v3.10.0a1","v3.10.0a2","v3.1a1","v3.1a2","v3.1b1","v3.1rc1","v3.1rc2","v3.2","v3.2.1","v3.2.1b1","v3.2.1rc1","v3.2.1rc2","v3.2.2","v3.2.2rc1","v3.2.3","v3.2.3rc1","v3.2.3rc2","v3.2.4","v3.2.4rc1","v3.2.5","v3.2.6","v3.2.6rc1","v3.2a1","v3.2a2","v3.2a3","v3.2a4","v3.2b1","v3.2b2","v3.2rc1","v3.2rc2","v3.2rc3","v3.3.0","v3.3.0a1","v3.3.0a2","v3.3.0a3","v3.3.0a4","v3.3.0b1","v3.3.0b2","v3.3.0rc1","v3.3.0rc2","v3.3.0rc3","v3.3.1","v3.3.1rc1","v3.3.2","v3.3.3","v3.3.3rc1","v3.3.3rc2","v3.3.4","v3.3.4rc1","v3.3.5","v3.3.5rc1","v3.3.5rc2","v3.3.6","v3.3.6rc1","v3.4.0","v3.4.0a1","v3.4.0a2","v3.4.0a3","v3.4.0a4","v3.4.0b1","v3.4.0b2","v3.4.0b3","v3.4.0rc1","v3.4.0rc2","v3.4.0rc3","v3.4.1","v3.4.1rc1","v3.4.2","v3.4.2rc1","v3.4.3","v3.4.3rc1","v3.4.4","v3.4.4rc1","v3.4.5","v3.4.5rc1","v3.4.6","v3.4.6rc1","v3.5.0","v3.5.0a1","v3.5.0a2","v3.5.0a3","v3.5.0a4","v3.5.0b1","v3.5.0b2","v3.5.0b3","v3.5.0b4","v3.5.0rc1","v3.5.0rc2","v3.5.0rc3","v3.5.0rc4","v3.5.1","v3.5.1rc1","v3.5.2","v3.5.2rc1","v3.5.3","v3.5.3rc1","v3.6.0","v3.6.0a1","v3.6.0a2","v3.6.0a3","v3.6.0a4","v3.6.0b1","v3.6.0b2","v3.6.0b3","v3.6.0b4","v3.6.0rc1","v3.6.0rc2","v3.7.0a1","v3.7.0a2","v3.7.0a3","v3.7.0a4","v3.8.0a1","v3.8.0a2","v3.8.0a3","v3.8.0a4","v3.8.0b1","v3.9.0","v3.9.0a1","v3.9.0a2","v3.9.0a3","v3.9.0a4","v3.9.0a5","v3.9.0a6","v3.9.0b1","v3.9.0b2","v3.9.0b3","v3.9.0b4","v3.9.0b5","v3.9.0rc1","v3.9.0rc2"],"database_specific":{"vanir_signatures":[{"source":"https://github.com/python/cpython/commit/8bef9ebb1b88cfa4b2a38b93fe4ea22015d8254a","signature_type":"Line","target":{"file":"Modules/_operator.c"},"signature_version":"v1","id":"PSF-2023-6-3dd2b864","digest":{"line_hashes":["37875626331627962661865424741813383260","281696644671081892031429913453162475161","246493947341859716171634879534847734670","140689433993638059732811585022631090171"],"threshold":0.9},"deprecated":false},{"source":"https://github.com/python/cpython/commit/db95802bdfac4d13db3e2a391ec7b9e2f8d92dbe","signature_type":"Line","target":{"file":"Modules/_operator.c"},"signature_version":"v1","id":"PSF-2023-6-90522fac","digest":{"line_hashes":["37875626331627962661865424741813383260","281696644671081892031429913453162475161","246493947341859716171634879534847734670","140689433993638059732811585022631090171"],"threshold":0.9},"deprecated":false},{"source":"https://github.com/python/cpython/commit/97136d71a78a4b6b816f7e14acc52be426efcb6f","signature_type":"Line","target":{"file":"Modules/_operator.c"},"signature_version":"v1","id":"PSF-2023-6-98d4ae3a","digest":{"line_hashes":["37875626331627962661865424741813383260","281696644671081892031429913453162475161","246493947341859716171634879534847734670","140689433993638059732811585022631090171"],"threshold":0.9},"deprecated":false},{"source":"https://github.com/python/cpython/commit/c1bbca5b004b3f74d240ef8a76ff445cc1a27efb","signature_type":"Line","target":{"file":"Modules/_operator.c"},"signature_version":"v1","id":"PSF-2023-6-f3f4da2f","digest":{"line_hashes":["37875626331627962661865424741813383260","281696644671081892031429913453162475161","246493947341859716171634879534847734670","140689433993638059732811585022631090171"],"threshold":0.9},"deprecated":false},{"source":"https://github.com/python/cpython/commit/31729366e2bc09632e78f3896dbce0ae64914f28","signature_type":"Line","target":{"file":"Modules/_operator.c"},"signature_version":"v1","id":"PSF-2023-6-f4081b58","digest":{"line_hashes":["37875626331627962661865424741813383260","281696644671081892031429913453162475161","246493947341859716171634879534847734670","140689433993638059732811585022631090171"],"threshold":0.9},"deprecated":false}],"source":"https://github.com/psf/advisory-database/blob/main/advisories/python/PSF-2023-6.json"}}],"schema_version":"1.7.3"}