From 32aa623effb520111d4598619e425f336e0e78f0 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 17 Dec 2021 14:45:09 +0100 Subject: [PATCH] Kernel: Fix 4-byte uninitialized memory leak in sys$sigaltstack() It was possible to extract 4 bytes of uninitialized kernel stack memory on x86_64 by looking in the padding of stack_t. --- Kernel/Syscalls/sigaction.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Kernel/Syscalls/sigaction.cpp b/Kernel/Syscalls/sigaction.cpp index ed25c544e3..0b4ca0db42 100644 --- a/Kernel/Syscalls/sigaction.cpp +++ b/Kernel/Syscalls/sigaction.cpp @@ -262,7 +262,7 @@ ErrorOr Process::sys$sigaltstack(Userspace user_ss, Use REQUIRE_PROMISE(sigaction); if (user_old_ss) { - stack_t old_ss_value; + stack_t old_ss_value {}; old_ss_value.ss_sp = (void*)Thread::current()->m_alternative_signal_stack; old_ss_value.ss_size = Thread::current()->m_alternative_signal_stack_size; old_ss_value.ss_flags = 0;