CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2026/07/14 05:51:09
Modified files:
sys/kern : Tag: OPENBSD_7_8 exec_elf.c kern_exec.c
Log message:
sys/exec.h includes machine/exec.h, no need to include both
from jsg@
unzero'd padding bytes in struct reg and struct fpreg (both machine dependent)
leak kernel stack contents.
from deraadt@; from Andrew Griffiths at Calif
Disable kbind() and pinsyscalls() for static binaries at the correct
time, which is inside exec_elf_makecmds(). Amusingly, it looks like
these protection mechanisms are not needed because other process state
protects against kbind use since we completed the switch to static pie.
Also any priviledged static binary (which we ship, setuid or daemon) is
not going to contain a pinsyscall or kbind slot in the loaded pinsyscalls
table, so they cannot perform those. Only synthetic binaries with their
own pinsyscalls table could play, but of course they won't run with
priviledge..
from deraadt@; from Andrew Griffiths at Calif
ok kettenis, andrew also approves of this approach
Handle sections that specify alignment as 0 when loading an ELF interpreter
(i.e. ld.so). Since the smallest possible alignment actually is a the
page size just start with that and only increase it if a larger alignment
is requested. Also reject interpreters without loadable segments, just
like we did for ld.so a few weeks ago.
Distilled from a report by Andrew Griffiths.
from kettenis@; ok jsg@, deraadt@
Improve checking of ELF notes. This adds checks for overflow when rounding
sizes up to be a multiple of the ELF word size and adds checks to prevent
out of bounds access.
Based on a report and diff from Andrew Griffiths.
from kettenis@; ok jsg@, deraadt@
Intended behaviour should not have a XXX XXX XXX XXX
from deraadt@; ok beck
free exec_package allocations in check_exec() error paths
from jsg@; from Andrew Griffiths at Calif, ok kettenis@
this is errata/7.8/040_elf.patch