aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2026-03-10 13:53:46 +0000
committerMark Johnston <markj@FreeBSD.org>2026-06-29 19:17:30 +0000
commit99d936f9858985c6387ef930ab6d66f013203edb (patch)
treebb222c1a53d9a774f202825126a75560d3b5ff5d
parent5f83a1c159a3149d65bbc0f004c7dd6c1ffb698c (diff)
compat/linux: Avoid waitid() kernel stack disclosure
Approved by: so Security: FreeBSD-SA-26:47.linux Security: CVE-2026-49424 Reported by: Adam Crosser, Praetorian Reviewed by: philip Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55812 (cherry picked from commit 9a9f93bcf1aa0059d759b2f3ea6faeb2760a11bd) (cherry picked from commit 9f8db9cc67fb86eeb2b645ce7f8aa748e99241a9) (cherry picked from commit a347e6e20e75ad6224afefcf650ef738c3de094d)
-rw-r--r--sys/compat/linux/linux_misc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c
index 2414c76eb173..008f695de36b 100644
--- a/sys/compat/linux/linux_misc.c
+++ b/sys/compat/linux/linux_misc.c
@@ -748,6 +748,7 @@ linux_common_wait(struct thread *td, idtype_t idtype, int id, int *statusp,
error = linux_copyout_rusage(&wru.wru_self, rup);
if (error == 0 && infop != NULL && td->td_retval[0] != 0) {
sig = bsd_to_linux_signal(siginfo.si_signo);
+ memset(&lsi, 0, sizeof(lsi));
siginfo_to_lsiginfo(&siginfo, &lsi, sig);
error = copyout(&lsi, infop, sizeof(lsi));
}