.. | .. |
---|
302 | 302 | Memory poisoning |
---|
303 | 303 | ---------------- |
---|
304 | 304 | |
---|
305 | | -When releasing memory, it is best to poison the contents (clear stack on |
---|
306 | | -syscall return, wipe heap memory on a free), to avoid reuse attacks that |
---|
307 | | -rely on the old contents of memory. This frustrates many uninitialized |
---|
308 | | -variable attacks, stack content exposures, heap content exposures, and |
---|
309 | | -use-after-free attacks. |
---|
| 305 | +When releasing memory, it is best to poison the contents, to avoid reuse |
---|
| 306 | +attacks that rely on the old contents of memory. E.g., clear stack on a |
---|
| 307 | +syscall return (``CONFIG_GCC_PLUGIN_STACKLEAK``), wipe heap memory on a |
---|
| 308 | +free. This frustrates many uninitialized variable attacks, stack content |
---|
| 309 | +exposures, heap content exposures, and use-after-free attacks. |
---|
310 | 310 | |
---|
311 | 311 | Destination tracking |
---|
312 | 312 | -------------------- |
---|