WSL2-Linux-Kernel/include
Kees Cook d049f74f2d exec/ptrace: fix get_dumpable() incorrect tests
The get_dumpable() return value is not boolean.  Most users of the
function actually want to be testing for non-SUID_DUMP_USER(1) rather than
SUID_DUMP_DISABLE(0).  The SUID_DUMP_ROOT(2) is also considered a
protected state.  Almost all places did this correctly, excepting the two
places fixed in this patch.

Wrong logic:
    if (dumpable == SUID_DUMP_DISABLE) { /* be protective */ }
        or
    if (dumpable == 0) { /* be protective */ }
        or
    if (!dumpable) { /* be protective */ }

Correct logic:
    if (dumpable != SUID_DUMP_USER) { /* be protective */ }
        or
    if (dumpable != 1) { /* be protective */ }

Without this patch, if the system had set the sysctl fs/suid_dumpable=2, a
user was able to ptrace attach to processes that had dropped privileges to
that user.  (This may have been partially mitigated if Yama was enabled.)

The macros have been moved into the file that declares get/set_dumpable(),
which means things like the ia64 code can see them too.

CVE-2013-2929

Reported-by: Vasily Kulikov <segoon@openwall.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-11-13 12:09:33 +09:00
..
acpi ACPI, CPER: Update cper info 2013-10-21 15:12:00 -07:00
asm-generic bitops/find: clarify and extend documentation 2013-11-13 12:09:22 +09:00
clocksource
crypto
drm
dt-bindings The clock changes for 3.13 are an even mix of framework improvements & 2013-11-12 16:11:47 +09:00
keys
kvm
linux exec/ptrace: fix get_dumpable() incorrect tests 2013-11-13 12:09:33 +09:00
math-emu
media
memory
misc
net ipv6: reset dst.expires value when clearing expire flag 2013-10-25 19:26:59 -04:00
pcmcia
ras
rdma
rxrpc
scsi
sound Merge remote-tracking branch 'asoc/topic/twl4030' into asoc-next 2013-11-08 10:43:40 +00:00
target
trace mm: get rid of unnecessary overhead of trace_mm_page_alloc_extfrag() 2013-11-13 12:09:10 +09:00
uapi errno.h: remove "NFS" from descriptions in comments 2013-11-13 12:09:12 +09:00
video video: exynos_dp: remove non-DT support for Exynos Display Port 2013-10-16 13:48:09 -07:00
xen
Kbuild