diff options
author | 2016-11-16 15:59:28 -0500 | |
---|---|---|
committer | 2016-11-16 15:59:28 -0500 | |
commit | 3ff625739ab2660e7f0adeb99f75ee44c20fef09 (patch) | |
tree | 2e28ac6eebe658006b9fb6c33ccfa995fec88a4c /libsbutil | |
parent | libsandbox: whitelist execvpe (diff) | |
download | sandbox-3ff625739ab2660e7f0adeb99f75ee44c20fef09.tar.gz sandbox-3ff625739ab2660e7f0adeb99f75ee44c20fef09.tar.bz2 sandbox-3ff625739ab2660e7f0adeb99f75ee44c20fef09.zip |
libsandbox: fix symtab walking with prelinked ELFs
When prelink runs on an ELF, it moves the string table from right
after the symbol table to the end, and then replaces the string
table with its liblist table. This ends up breaking sandbox's
assumption that the string table always follows the symbol table
leading to prelinked ELFs crashing.
Update the range check to use the liblist table when available.
Since the prelink code has this logic hardcoded (swapping the
string table for the liblist table), this should be OK for now.
URL: https://bugs.gentoo.org/599894
Reported-by: Anders Larsson <anders.gentoo@larsson.xyz>
Reported-by: Kenton Groombridge <rustyvega@comcast.net>
Reported-by: Marien Zwart <marien.zwart@gmail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'libsbutil')
0 files changed, 0 insertions, 0 deletions