Skip to content

Commit 6e05c08

Browse files
committed
[3.14] gh-148178: Validate remote debug offset tables on load (GH-148187)
Treat the debug offset tables read from a target process as untrusted input and validate them before the unwinder uses any reported sizes or offsets. Add a shared validator in debug_offsets_validation.h and run it once when _Py_DebugOffsets is loaded and once when AsyncioDebug is loaded. The checks cover section sizes used for fixed local buffers and every offset that is later dereferenced against a local buffer or local object view. This keeps the bounds checks out of the sampling hot path while rejecting malformed tables up front. (cherry picked from commit 289fd2c) Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
1 parent d26fef1 commit 6e05c08

File tree

2 files changed

+505
-6
lines changed

2 files changed

+505
-6
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Hardened :mod:`!_remote_debugging` by validating remote debug offset tables
2+
before using them to size memory reads or interpret remote layouts.

0 commit comments

Comments
 (0)