Commit 6e05c08
committed
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- Misc/NEWS.d/next/Security
- Modules
2 files changed
+505
-6
lines changedLines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
0 commit comments