hi,

attached is a patch to fix a missing NUL termination check on symbol
names in the libdwfl relocation path and dwfl_module_getsym.

the existing st_name < d_size check only validates the start offset.
it doesnt verify a NUL byte exists before the section boundary.
a crafted ET_REL with an unterminated name in .strtab causes strcmp
in resolve_symbol to read past the string table.

reproduced under ASan, details in the commit message.
eu-unstrip already does this check correctly at unstrip.c:888 using
memrchr, but the libdwfl paths were missed.

thanks
Yaseen

Attachment: 0001-libdwfl-reject-symbol-names-that-are-not-NUL-termina.patch
Description: Binary data

Reply via email to