From ca376e7545f5d03a19892ef1777be9094e406d46 Mon Sep 17 00:00:00 2001 From: THEBIGTOMMY13DEV Date: Wed, 21 Oct 2026 01:05:56 -0400 Subject: [PATCH] fix(tools): reject SELF program tables overlapping the ELF header --- tools/tests/test_unwrap_self.py | 21 +++++++++++++++++++++ tools/unwrap_self.py | 2 ++ 2 files changed, 23 insertions(+) diff --git a/tools/tests/test_unwrap_self.py b/tools/tests/test_unwrap_self.py index 3ef6bc8e65..323056d523 100644 --- a/tools/tests/test_unwrap_self.py +++ b/tools/tests/test_unwrap_self.py @@ -122,6 +122,27 @@ class UnwrapTest(unittest.TestCase): def tearDown(self): self.temporary.cleanup() + def test_program_table_overlapping_elf_header_preserves_output(self): + for offset in (0, 8, 32, 63): + for previous in (None, b"previous output"): + with self.subTest(offset=offset, previous=previous): + container = bytearray(build_container(default_segments(), default_records(), default_payloads())) + struct.pack_into(" len(data): raise Refused("ELF program header table does not fit the file") headers = []