proc: avoid information leaks to non-privileged processes
From: Jake Edge <firstname.lastname@example.org>
By using the same test as is used for /proc/pid/maps and /proc/pid/smaps,
only allow processes that can ptrace() a given process to see information
that might be used to bypass address space layout randomization (ASLR).
These include eip, esp, wchan, and start_stack in /proc/pid/stat as well
as the non-symbolic output from /proc/pid/wchan.
ASLR can be bypassed by sampling eip as shown by the proof-of-concept
code at http://code.google.com/p/fuzzyaslr/ As part of a presentation
(http://www.cr0.org/paper/to-jt-linux-alsr-leak.pdf) esp and wchan were
also noted as possibly usable information leaks as well. The
start_stack address also leaks potentially useful information.
Cc: Stable Team <email@example.com>
Signed-off-by: Jake Edge <firstname.lastname@example.org>
Acked-by: Arjan van de Ven <email@example.com>
Acked-by: "Eric W. Biederman" <firstname.lastname@example.org>
Signed-off-by: Linus Torvalds <email@example.com>