Date: Thu, 27 Sep 2018 18:36:30 +0000 (UTC) From: Gordon Tetlow <gordon@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r338981 - in releng: 10.4/sys/kern 11.1/sys/kern 11.2/sys/kern Message-ID: <201809271836.w8RIaUiZ073901@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: gordon Date: Thu Sep 27 18:36:30 2018 New Revision: 338981 URL: https://svnweb.freebsd.org/changeset/base/338981 Log: Fix small kernel memory disclosures. [EN-18:12.mem] Reported by: Thomas Barabosch, Fraunhofer FKIE Approved by: so Security: FreeBSD-EN-18:12.mem Security: CVE-2018-17155 Modified: releng/10.4/sys/kern/kern_context.c releng/11.1/sys/kern/kern_context.c releng/11.2/sys/kern/kern_context.c Modified: releng/10.4/sys/kern/kern_context.c ============================================================================== --- releng/10.4/sys/kern/kern_context.c Thu Sep 27 18:34:42 2018 (r338980) +++ releng/10.4/sys/kern/kern_context.c Thu Sep 27 18:36:30 2018 (r338981) @@ -68,6 +68,7 @@ sys_getcontext(struct thread *td, struct getcontext_ar if (uap->ucp == NULL) ret = EINVAL; else { + bzero(&uc, sizeof(ucontext_t)); get_mcontext(td, &uc.uc_mcontext, GET_MC_CLEAR_RET); PROC_LOCK(td->td_proc); uc.uc_sigmask = td->td_sigmask; @@ -108,6 +109,7 @@ sys_swapcontext(struct thread *td, struct swapcontext_ if (uap->oucp == NULL || uap->ucp == NULL) ret = EINVAL; else { + bzero(&uc, sizeof(ucontext_t)); get_mcontext(td, &uc.uc_mcontext, GET_MC_CLEAR_RET); bzero(uc.__spare__, sizeof(uc.__spare__)); PROC_LOCK(td->td_proc); Modified: releng/11.1/sys/kern/kern_context.c ============================================================================== --- releng/11.1/sys/kern/kern_context.c Thu Sep 27 18:34:42 2018 (r338980) +++ releng/11.1/sys/kern/kern_context.c Thu Sep 27 18:36:30 2018 (r338981) @@ -68,6 +68,7 @@ sys_getcontext(struct thread *td, struct getcontext_ar if (uap->ucp == NULL) ret = EINVAL; else { + bzero(&uc, sizeof(ucontext_t)); get_mcontext(td, &uc.uc_mcontext, GET_MC_CLEAR_RET); PROC_LOCK(td->td_proc); uc.uc_sigmask = td->td_sigmask; @@ -108,6 +109,7 @@ sys_swapcontext(struct thread *td, struct swapcontext_ if (uap->oucp == NULL || uap->ucp == NULL) ret = EINVAL; else { + bzero(&uc, sizeof(ucontext_t)); get_mcontext(td, &uc.uc_mcontext, GET_MC_CLEAR_RET); bzero(uc.__spare__, sizeof(uc.__spare__)); PROC_LOCK(td->td_proc); Modified: releng/11.2/sys/kern/kern_context.c ============================================================================== --- releng/11.2/sys/kern/kern_context.c Thu Sep 27 18:34:42 2018 (r338980) +++ releng/11.2/sys/kern/kern_context.c Thu Sep 27 18:36:30 2018 (r338981) @@ -68,6 +68,7 @@ sys_getcontext(struct thread *td, struct getcontext_ar if (uap->ucp == NULL) ret = EINVAL; else { + bzero(&uc, sizeof(ucontext_t)); get_mcontext(td, &uc.uc_mcontext, GET_MC_CLEAR_RET); PROC_LOCK(td->td_proc); uc.uc_sigmask = td->td_sigmask; @@ -108,6 +109,7 @@ sys_swapcontext(struct thread *td, struct swapcontext_ if (uap->oucp == NULL || uap->ucp == NULL) ret = EINVAL; else { + bzero(&uc, sizeof(ucontext_t)); get_mcontext(td, &uc.uc_mcontext, GET_MC_CLEAR_RET); bzero(uc.__spare__, sizeof(uc.__spare__)); PROC_LOCK(td->td_proc);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201809271836.w8RIaUiZ073901>