{"id":"PSF-2026-19","details":"The \"profiling.sampling\" module (Python 3.15+) and \"asyncio introspection capabilities\" (3.14+, \"python -m asyncio ps\" and \"python -m asyncio pstree\") features could be used to read and write addresses in a privileged process if that process connected to a malicious or \"infected\" Python process via the remote debugging feature. This vulnerability requires persistently and repeatedly connecting to the process to be exploited, even after the connecting process crashes with high likelihood due to ASLR.","aliases":["BIT-libpython-2026-5713","BIT-python-2026-5713","BIT-python-min-2026-5713","CVE-2026-5713"],"modified":"2026-04-17T04:57:03.916001145Z","published":"2026-04-14T15:11:51.122Z","database_specific":{"cwe_ids":[]},"references":[{"type":"WEB","url":"https://github.com/python/cpython/pull/148187"},{"type":"REPORT","url":"https://github.com/python/cpython/issues/148178"},{"type":"ADVISORY","url":"https://mail.python.org/archives/list/security-announce@python.org/thread/OG4RHARYSNIE22GGOMVMCRH76L5HKPLM/"},{"type":"FIX","url":"https://github.com/python/cpython/commit/289fd2c97a7e5aecb8b69f94f5e838ccfeee7e67"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/python/cpython","events":[{"introduced":"0"},{"fixed":"289fd2c97a7e5aecb8b69f94f5e838ccfeee7e67"}]}],"versions":["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","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.10.0a1","v3.10.0a7","v3.11.0a3","v3.11.0a4","v3.11.0a5","v3.11.0a6","v3.11.0a7","v3.11.0b1","v3.12.0a1","v3.12.0a2","v3.12.0a3","v3.12.0a4","v3.12.0a5","v3.12.0a6","v3.12.0a7","v3.12.0b1","v3.13.0a1","v3.13.0a2","v3.13.0a3","v3.13.0a4","v3.13.0a5","v3.13.0a6","v3.13.0b1","v3.14.0a1","v3.14.0a2","v3.14.0a3","v3.14.0a4","v3.14.0a5","v3.14.0a6","v3.14.0a7","v3.14.0b1","v3.15.0a1","v3.15.0a2","v3.15.0a3","v3.15.0a4","v3.15.0a5","v3.15.0a6","v3.15.0a7","v3.15.0a8","v3.1a1","v3.1a2","v3.1b1","v3.1rc1","v3.1rc2","v3.2a1","v3.2a2","v3.2a3","v3.2a4","v3.2b1","v3.2b2","v3.2rc1","v3.2rc2","v3.2rc3","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.4.0a1","v3.4.0a2","v3.4.0a3","v3.4.0a4","v3.4.0b1","v3.4.0b2","v3.4.0b3","v3.5.0a1","v3.5.0a2","v3.5.0a3","v3.5.0a4","v3.5.0b1","v3.6.0a3","v3.6.0b1","v3.7.0a2","v3.9.0a2"],"database_specific":{"vanir_signatures":[{"deprecated":false,"source":"https://github.com/python/cpython/commit/289fd2c97a7e5aecb8b69f94f5e838ccfeee7e67","digest":{"length":427,"function_hash":"245981505972492190890653013322972258791"},"target":{"function":"read_async_debug","file":"Modules/_remote_debugging/asyncio.c"},"id":"PSF-2026-19-675f38c1","signature_version":"v1","signature_type":"Function"},{"deprecated":false,"target":{"function":"_remote_debugging_RemoteUnwinder___init___impl","file":"Modules/_remote_debugging/module.c"},"source":"https://github.com/python/cpython/commit/289fd2c97a7e5aecb8b69f94f5e838ccfeee7e67","digest":{"length":3203,"function_hash":"336267078754507233895692800265045832709"},"id":"PSF-2026-19-69ac6341","signature_version":"v1","signature_type":"Function"},{"deprecated":false,"digest":{"length":533,"function_hash":"42568520184731819157788302753139868446"},"target":{"function":"find_frame_in_chunks","file":"Modules/_remote_debugging/frames.c"},"source":"https://github.com/python/cpython/commit/289fd2c97a7e5aecb8b69f94f5e838ccfeee7e67","id":"PSF-2026-19-73e6f6cc","signature_version":"v1","signature_type":"Function"},{"digest":{"length":420,"function_hash":"220648592042851214713592688769696726902"},"deprecated":false,"target":{"function":"ensure_async_debug_offsets","file":"Modules/_remote_debugging/asyncio.c"},"source":"https://github.com/python/cpython/commit/289fd2c97a7e5aecb8b69f94f5e838ccfeee7e67","id":"PSF-2026-19-8b4535f2","signature_version":"v1","signature_type":"Function"},{"deprecated":false,"digest":{"threshold":0.9,"line_hashes":["149590914155636874669696007226452197698","260225886543147551484568093290489680913","10890973065704760779058565016116937372","157876391673519883231775916615012091535","95468143904920739101499679098612306899","31381927340001534216061549329048069732","114697188066321940155513418539802957569","297758372313771915193870983901370545217","16243910240824376198842730507195351206","214992813336529931958126309895145929143","277420593219157965054539149479059606812"]},"target":{"file":"Modules/_remote_debugging/asyncio.c"},"source":"https://github.com/python/cpython/commit/289fd2c97a7e5aecb8b69f94f5e838ccfeee7e67","id":"PSF-2026-19-8f2374a5","signature_version":"v1","signature_type":"Line"},{"deprecated":false,"target":{"function":"validate_debug_offsets","file":"Modules/_remote_debugging/module.c"},"source":"https://github.com/python/cpython/commit/289fd2c97a7e5aecb8b69f94f5e838ccfeee7e67","digest":{"length":1522,"function_hash":"140914305182492835418233589173880173566"},"id":"PSF-2026-19-8f79bd88","signature_version":"v1","signature_type":"Function"},{"deprecated":false,"signature_version":"v1","signature_type":"Line","digest":{"line_hashes":["202669564105719786428683120521353116508","243136757518700513353262613171805775750","285708693124834684150283698736145713616","82154586460391812451986551836703406410"],"threshold":0.9},"id":"PSF-2026-19-995742ee","source":"https://github.com/python/cpython/commit/289fd2c97a7e5aecb8b69f94f5e838ccfeee7e67","target":{"file":"Modules/_remote_debugging/frames.c"}},{"deprecated":false,"signature_type":"Line","source":"https://github.com/python/cpython/commit/289fd2c97a7e5aecb8b69f94f5e838ccfeee7e67","digest":{"line_hashes":["183284707183075176221906497311761896164","128400124836604653930790894248897557804","254097505792159030800901135630839785883","297295444819886776360825326696600298970","40871188566960555797534865343993917120","139960504989181189296839754167187329900","193915943557584955820597461367109601366","324977655739534484680364669447929522755","172875994508637988581630580447631477338","268177398782905625784657497019566427652"],"threshold":0.9},"id":"PSF-2026-19-f3fdb1bb","signature_version":"v1","target":{"file":"Modules/_remote_debugging/module.c"}},{"deprecated":false,"source":"https://github.com/python/cpython/commit/289fd2c97a7e5aecb8b69f94f5e838ccfeee7e67","digest":{"threshold":0.9,"line_hashes":["298223400776913315262921146786735091506","222999565188564283060666387866510370610","102785165037480089344419425717698065139","244193805291779794716975476202033032583","20565281032612973554945880527344290634","194685666717727536801597506645175765752","50166351641283881063593890755576094205"]},"signature_type":"Line","id":"PSF-2026-19-f8ff6759","signature_version":"v1","target":{"file":"Modules/_remote_debugging/_remote_debugging.h"}}],"vanir_signatures_modified":"2026-04-15T02:03:58Z","source":"https://github.com/psf/advisory-database/blob/main/advisories/python/PSF-2026-19.json"}}],"schema_version":"1.7.5"}