July 19, 2006
This article was contributed by Jake Edge.
A second local privilege escalation bug has been found recently in the 2.6
kernel series. The first, covered
by LWN last week, configured processes to dump core in directories not normally
writable by the user. The most recent vulnerability exploits the setuid
permissions bit on files in the /proc filesystem and a kernel
race. In both cases, the result is root privileges for interested local users.
The first indication of the vulnerability came as a working exploit
posted
to the full-disclosure mailing list. The exploit uses an mmap() of
a large file on the disk to slow the system down enough to exploit a race
condition in the /proc filesystem handling. Permissions for the
/proc/self/environ file can be set with the setuid bit 'on' and
prctl() can be used to set the owner of that file to root. Tacking
an a.out executable onto the environ file allows a local
user to get a root shell.
The fix is fairly obvious: setuid and setgid bits do not make any sense for
/proc filesystem entries and removing that 'feature' fixes the
problem. The stable 2.6 kernels were
patched the same day as
the exploit was released and a tweak to the original fix was
released the next day.
A fairly simple workaround is to mount (or remount) /proc with the
nosuid flag. That flag will prevent the setuid/setgid bits from
having any affect for files on that filesystem. It should be noted that
this workaround was the right thing to do for /proc all along;
nothing good can come from allowing those bits to be used. Distributions
should take a look at tightening these kinds of restrictions and help
their users avoid these kinds of problems whenever possible.
Systems that have sufficiently restricted SELinux configurations were not
affected by this vulnerability. For example, the targeted policy in enforcing
mode that is the default for Red Hat Enterprise Linux 4 will not allow
setting those bits on /proc files. In addition, kernels that
did not have a.out support enabled would not be affected by this exploit, but
there may be other ways to exploit the bug without using an a.out binary.
Even so, this vulnerability is a good example of why it makes sense to
disable unused functionality, even if it doesn't have any immediate
security implications. Most currently-running Linux systems have
probably never seen an a.out binary; they certainly do not need that format
enabled in their kernels.
It is fairly common for local privilege escalation issues to be given
insufficient attention by system administrators because their systems
either have no login user accounts or trust the people who do have them.
Unfortunately, there is often a significant risk even to those kinds of
systems. All that it takes is an exploit in a web program or other network
service that allows a malicious user to get a shell. That shell will be
running with the permissions of the user
that runs the exploited service ('apache' for example), but a privilege
escalation can allow that limited shell access to become a full takeover
of the box. Any network accessible system should be considered vulnerable
to this kind of problem and be patched accordingly.
Comments (7 posted)
New vulnerabilities
kernel: denial of service by memory consumption
Package(s): | kernel |
CVE #(s): | CVE-2006-2936
|
Created: | July 17, 2006 |
Updated: | November 14, 2007 |
Description: |
The ftdi_sio driver (usb/serial/ftdi_sio.c) in Linux kernel 2.6.x up to
2.6.17, and possibly later versions, allows local users to cause a denial
of service (memory consumption) by writing more data to the serial port
than the driver can handle, which causes the data to be queued. |
Alerts: |
|
Comments (none posted)
kernel: race condition
Package(s): | kernel |
CVE #(s): | CVE-2006-3626
|
Created: | July 17, 2006 |
Updated: | July 21, 2006 |
Description: |
It was discovered that a race condition in the process filesystem can lead
to privilege escalation. |
Alerts: |
|
Comments (2 posted)
libpng: buffer overflow
Package(s): | libpng |
CVE #(s): | CVE-2006-3334
|
Created: | July 19, 2006 |
Updated: | December 15, 2008 |
Description: |
In pngrutil.c, the function png_decompress_chunk() allocates
insufficient space for an error message, potentially overwriting stack
data, leading to a buffer overflow. |
Alerts: |
|
Comments (none posted)
libtunepimp: buffer overflows
Package(s): | libtunepimp |
CVE #(s): | CVE-2006-3600
|
Created: | July 13, 2006 |
Updated: | August 2, 2006 |
Description: |
The libtunepimp tag parser has multiple buffer overflow vulnerabilities.
If a user can be tricked into opening specially crafted tagged
multimedia files, arbitrary code can be executed with the user's
privileges. |
Alerts: |
|
Comments (none posted)
libwmf: integer overflow
Package(s): | libwmf |
CVE #(s): | CVE-2006-3376
|
Created: | July 13, 2006 |
Updated: | November 6, 2006 |
Description: |
libwmf, a library that is used for processing Windows MetaFile vector graphics files, has an integer overflow vulnerability. |
Alerts: |
|
Comments (none posted)
rssh: bypass access restrictions
Package(s): | rssh |
CVE #(s): | CVE-2006-1320
|
Created: | July 17, 2006 |
Updated: | July 19, 2006 |
Description: |
Russ Allbery discovered that rssh, a restricted shell, performs
insufficient checking of incoming commands, which might lead to a bypass
of access restrictions. |
Alerts: |
|
Comments (none posted)
vixie-cron: directory permissions
Package(s): | vixie-cron |
CVE #(s): | |
Created: | July 18, 2006 |
Updated: | July 19, 2006 |
Description: |
vixie-cron has a directory permission issue,
the cron spool directories had the wrong permissions and
have been changed to 0700. The security implications of
the previous permissions are unspecified. |
Alerts: |
|
Comments (none posted)
webmin: arbitrary file read
Package(s): | webmin |
CVE #(s): | CVE-2006-3392
|
Created: | July 19, 2006 |
Updated: | August 7, 2006 |
Description: |
Webmin before 1.290 and Usermin before 1.220 calls the simplify_path
function before decoding HTML, which allows remote attackers to read
arbitrary files. |
Alerts: |
|
Comments (none posted)
wireshark: multiple vulnerabilities
Comments (none posted)
zope: privilege escalation
Package(s): | zope |
CVE #(s): | CVE-2006-3458
|
Created: | July 13, 2006 |
Updated: | August 9, 2006 |
Description: |
Zope version 2.7.0 to 2.7.8, 2.8.0 to 2.8.7, and 2.9.0 to 2.9.3 has a
privilege escalation vulnerability related to its failure to deactivate the
raw command. Remote users with privileges to edit zope pages with
RestructuredText can cause arbitrary files to become exposed. |
Alerts: |
|
Comments (1 posted)
Page editor: Rebecca Sobol
Next page:
Kernel development>>