CVS: cvs.openbsd.org: src
Alexander Bluhm <[email protected]>
| Newsgroups | gmane.os.openbsd.cvs |
|---|---|
| Message-ID | <[email protected]> |
CVSROOT: /cvs Module name: src Changes by: [email protected] 2026/07/14 05:52:24 Modified files: sys/kern : Tag: OPENBSD_7_9 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.9/004_elf.patch.sig