CVE-2011-1020 : Détail

CVE-2011-1020

A01-Broken Access Control
0.05%V3
Local
2011-02-28
14h00 +00:00
2017-08-16
12h57 +00:00
Notifications pour un CVE
Restez informé de toutes modifications pour un CVE spécifique.
Gestion des notifications

Descriptions du CVE

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.

Informations du CVE

Faiblesses connexes

CWE-ID Nom de la faiblesse 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.

Métriques

Métriques Score Gravité CVSS Vecteur Source
V2 4.6 AV:L/AC:L/Au:N/C:P/I:P/A:P [email protected]

EPSS

EPSS est un modèle de notation qui prédit la probabilité qu'une vulnérabilité soit exploitée.

Score EPSS

Le modèle EPSS produit un score de probabilité compris entre 0 et 1 (0 et 100 %). Plus la note est élevée, plus la probabilité qu'une vulnérabilité soit exploitée est grande.

Percentile EPSS

Le percentile est utilisé pour classer les CVE en fonction de leur score EPSS. Par exemple, une CVE dans le 95e percentile selon son score EPSS est plus susceptible d'être exploitée que 95 % des autres CVE. Ainsi, le percentile sert à comparer le score EPSS d'une CVE par rapport à d'autres CVE.

Informations sur l'Exploit

Exploit Database EDB-ID : 41770

Date de publication : 2011-01-16 23h00 +00:00
Auteur : halfdog
EDB Vérifié : 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

Références

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