{"id":"PSF-2026-20","details":"The method \"sock_recvfrom_into()\" of \"asyncio.ProacterEventLoop\" (Windows only) was missing a boundary check for the data buffer when using nbytes parameter. This allowed for an out-of-bounds buffer write if data was larger than the buffer size. Non-Windows platforms are not affected.","aliases":["BIT-libpython-2026-3298","BIT-python-2026-3298","BIT-python-min-2026-3298","CVE-2026-3298","PSF-0000-CVE-2026-3298"],"modified":"2026-08-10T14:03:59.543128Z","published":"2026-04-21T14:45:01.919Z","database_specific":{"cwe_ids":[]},"references":[{"type":"WEB","url":"https://github.com/python/cpython/pull/148809"},{"type":"REPORT","url":"https://github.com/python/cpython/issues/148808"},{"type":"ADVISORY","url":"https://mail.python.org/archives/list/security-announce@python.org/thread/KWTPIQBOOOUNQP7UFSLBI437NJDFLA3F/"},{"type":"FIX","url":"https://github.com/python/cpython/commit/1274766d3c29007ab77245a72abbf8dce2a9db4d"},{"type":"FIX","url":"https://github.com/python/cpython/commit/27522b7d6e6588f03e61099dd858cd5a9314e2f2"},{"type":"FIX","url":"https://github.com/python/cpython/commit/95633d2aad4721e25e4dfd9f43dfb6e1edcbd741"},{"type":"FIX","url":"https://github.com/python/cpython/commit/6c8b85b3f1d83d5697ec19880960e1eacee56688"},{"type":"FIX","url":"https://github.com/python/cpython/commit/f5ca38739241fe7a40a4b116d5a8a1364dd6fea7"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/python/cpython","events":[{"introduced":"0"},{"fixed":"1274766d3c29007ab77245a72abbf8dce2a9db4d"},{"fixed":"27522b7d6e6588f03e61099dd858cd5a9314e2f2"},{"fixed":"95633d2aad4721e25e4dfd9f43dfb6e1edcbd741"},{"fixed":"6c8b85b3f1d83d5697ec19880960e1eacee56688"},{"fixed":"f5ca38739241fe7a40a4b116d5a8a1364dd6fea7"}]}],"versions":["v3.13.13","v3.14.4","v3.15.0a8","v3.15.0a7","v3.12.13","v3.11.15","v3.15.0a6","v3.13.12","v3.14.3","v3.15.0a5","v3.15.0a4","v3.15.0a3","v3.14.2","v3.13.11","v3.13.10","v3.14.1","v3.15.0a2","v3.15.0a1","v3.13.8","v3.11.14","v3.12.12","v3.14.0","v3.14.0rc3","v3.13.7","v3.14.0rc2","v3.13.6","v3.14.0rc1","v3.14.0b4","v3.14.0b3","v3.13.5","v3.13.4","v3.11.13","v3.12.11","v3.14.0b2","v3.14.0b1","v3.13.3","v3.11.12","v3.12.10","v3.14.0a7","v3.14.0a6","v3.14.0a5","v3.13.2","v3.12.9","v3.14.0a4","v3.14.0a3","v3.13.1","v3.12.8","v3.11.11","v3.14.0a2","v3.14.0a1","v3.13.0","v3.13.0rc3","v3.12.7","v3.11.10","v3.13.0rc2","v3.12.6","v3.12.5","v3.13.0rc1","v3.13.0b4","v3.13.0b3","v3.12.4","v3.13.0b2","v3.13.0b1","v3.13.0a6","v3.12.3","v3.11.9","v3.13.0a5","v3.13.0a4","v3.12.2","v3.11.8","v3.13.0a3","v3.12.1","v3.11.7","v3.13.0a2","v3.13.0a1","v3.11.6","v3.12.0","v3.12.0rc3","v3.12.0rc2","v3.11.5","v3.12.0rc1","v3.12.0b4","v3.12.0b3","v3.11.4","v3.12.0b2","v3.12.0b1","v3.11.3","v3.12.0a7","v3.12.0a6","v3.11.2","v3.12.0a5","v3.12.0a4","v3.12.0a3","v3.11.1","v3.12.0a2","v3.12.0a1","v3.11.0rc2","v3.11.0rc1","v3.11.0b5","v3.11.0b4","v3.11.0b3","v3.11.0b2","v3.11.0b1","v3.11.0a7","v3.11.0a6","v3.11.0a5","v3.11.0a4","v3.11.0a3","v3.10.0a7","v3.10.0a1","v3.9.0a2","v3.7.0a2","v3.6.0b1","v3.6.0a3","v3.5.0b1","v3.5.0a4","v3.5.0a3","v3.5.0a2","v3.5.0a1","v3.4.0b3","v3.4.0b2","v3.4.0b1","v3.4.0a4","v3.4.0a3","v3.4.0a2","v3.4.0a1","v3.3.0rc3","v3.3.0rc2","v3.3.0rc1","v3.3.0b2","v3.3.0b1","v3.3.0a4","v3.3.0a3","v3.3.0a2","v3.2rc3","v3.2rc2","v3.2rc1","v3.2b2","v3.2b1","v3.2a4","v3.2a3","v3.2a2","v3.2a1","v3.1","v3.1rc2","v3.1rc1","v3.1b1","v3.1a2","v3.1a1","v3.0rc3","v3.0rc2","v3.0rc1","v3.0b3","v3.0b2","v3.0b1","v3.0a5","v3.0a4","v3.0a3","v3.0a2","v3.0a1","v2.4","v2.4c1","v2.4b2","v2.4b1","v2.4a3","v2.4a2","v2.4a1","v2.3c2","v2.3c1","v2.2a3","v2.1","v2.1c2","v2.1c1","v2.1b2","v2.1b1","v2.1a2","v2.1a1","v2.0","v2.0c1","v2.0b2","v2.0b1","v1.6a2","v1.6a1","v1.5.2","v1.5.2c1","v1.5.2b2","v1.5.2b1","v1.5.2a2","v1.5.2a1","v1.5.1","v1.5","v1.5b2","v1.5b1","v1.5a4","v1.5a3","v1.5a2","v1.5a1","v1.4","v1.4b3","v1.4b2","v1.4b1","v1.3","v1.3b1","v1.2","v1.2b4","v1.2b3","v1.2b2","v1.2b1","v1.1.1","v1.1","v1.0.2","v1.0.1","v0.9.9","v0.9.8"],"database_specific":{"source":"https://github.com/psf/advisory-database/blob/main/advisories/python/PSF-2026-20.json","vanir_signatures_modified":"2026-08-10T14:03:59Z","vanir_signatures":[{"target":{"file":"Modules/overlapped.c"},"deprecated":false,"digest":{"line_hashes":["166616786060588068590821112215786932896","238830455504565871423658759957963106381","264894183483622387247292261699288876946"],"threshold":0.9},"id":"PSF-2026-20-118ba0c4","signature_type":"Line","signature_version":"v1","source":"https://github.com/python/cpython/commit/f5ca38739241fe7a40a4b116d5a8a1364dd6fea7"},{"digest":{"function_hash":"100507283403798272011065686682145089355","length":1337},"id":"PSF-2026-20-42b5e6bf","signature_type":"Function","signature_version":"v1","source":"https://github.com/python/cpython/commit/f5ca38739241fe7a40a4b116d5a8a1364dd6fea7","target":{"file":"Modules/overlapped.c","function":"_overlapped_Overlapped_WSARecvFromInto_impl"},"deprecated":false},{"signature_version":"v1","source":"https://github.com/python/cpython/commit/1274766d3c29007ab77245a72abbf8dce2a9db4d","target":{"file":"Modules/overlapped.c","function":"_overlapped_Overlapped_WSARecvFromInto_impl"},"deprecated":false,"digest":{"function_hash":"227761299143883810241791832005353540525","length":1323},"id":"PSF-2026-20-43f81bdd","signature_type":"Function"},{"signature_type":"Function","signature_version":"v1","source":"https://github.com/python/cpython/commit/27522b7d6e6588f03e61099dd858cd5a9314e2f2","target":{"file":"Modules/overlapped.c","function":"_overlapped_Overlapped_WSARecvFromInto_impl"},"deprecated":false,"digest":{"function_hash":"227761299143883810241791832005353540525","length":1323},"id":"PSF-2026-20-5a70f488"},{"id":"PSF-2026-20-5b086c97","signature_type":"Function","signature_version":"v1","source":"https://github.com/python/cpython/commit/6c8b85b3f1d83d5697ec19880960e1eacee56688","target":{"file":"Modules/overlapped.c","function":"_overlapped_Overlapped_WSARecvFromInto_impl"},"deprecated":false,"digest":{"function_hash":"100507283403798272011065686682145089355","length":1337}},{"deprecated":false,"digest":{"line_hashes":["166616786060588068590821112215786932896","238830455504565871423658759957963106381","264894183483622387247292261699288876946"],"threshold":0.9},"id":"PSF-2026-20-7396bb9a","signature_type":"Line","signature_version":"v1","source":"https://github.com/python/cpython/commit/27522b7d6e6588f03e61099dd858cd5a9314e2f2","target":{"file":"Modules/overlapped.c"}},{"signature_version":"v1","source":"https://github.com/python/cpython/commit/6c8b85b3f1d83d5697ec19880960e1eacee56688","target":{"file":"Modules/overlapped.c"},"deprecated":false,"digest":{"line_hashes":["166616786060588068590821112215786932896","238830455504565871423658759957963106381","264894183483622387247292261699288876946"],"threshold":0.9},"id":"PSF-2026-20-92cac350","signature_type":"Line"},{"signature_version":"v1","source":"https://github.com/python/cpython/commit/1274766d3c29007ab77245a72abbf8dce2a9db4d","target":{"file":"Modules/overlapped.c"},"deprecated":false,"digest":{"line_hashes":["166616786060588068590821112215786932896","238830455504565871423658759957963106381","264894183483622387247292261699288876946"],"threshold":0.9},"id":"PSF-2026-20-ac113189","signature_type":"Line"},{"target":{"file":"Modules/overlapped.c"},"deprecated":false,"digest":{"line_hashes":["166616786060588068590821112215786932896","238830455504565871423658759957963106381","264894183483622387247292261699288876946"],"threshold":0.9},"id":"PSF-2026-20-cbc25d9f","signature_type":"Line","signature_version":"v1","source":"https://github.com/python/cpython/commit/95633d2aad4721e25e4dfd9f43dfb6e1edcbd741"},{"signature_version":"v1","source":"https://github.com/python/cpython/commit/95633d2aad4721e25e4dfd9f43dfb6e1edcbd741","target":{"file":"Modules/overlapped.c","function":"_overlapped_Overlapped_WSARecvFromInto_impl"},"deprecated":false,"digest":{"function_hash":"227761299143883810241791832005353540525","length":1323},"id":"PSF-2026-20-d35edddb","signature_type":"Function"}]}}],"schema_version":"1.8.0"}