Security
System integrity in Linux
Ensuring that a Linux system is only running "approved" programs—ones that haven't been maliciously replaced—is one of the goals of the integrity patches currently being proposed for the Linux mainline. With some hardware assistance, in the form of a Trusted Platform Module (TPM) chip, systems will be able to protect against unauthorized binaries as well as attest to other systems that they are only running good code. These patches have been around for a number of years in various forms, but it would seem they are getting close to being merged. Perhaps more interestingly, we are starting to see them be used by various projects.
Over on the kernel page, we have looked at the integrity patches several times, most recently in March 2007. The core idea is to complement mandatory access control (MAC) systems, such as SELinux, by preventing attacks that are made when that system isn't running—the machine has been booted with a different kernel for example. It is generally considered a security truism that physical access to a device moots any security measures, but with a properly outfitted TPM-based system, that is no longer the case.
Conceptually, there are two parts to the integrity feature. One is the extended verification module (EVM) that associates each file with a hash that has been calculated over its contents and metadata. That hash is then signed by the TPM chip ensuring that unauthorized changes will be noticed. The other half is the integrity measurement architecture (IMA) which tracks the use of mmap(). IMA verifies the hashes of files that have been mapped in executable mode and then keeps track of them in a way that the TPM can sign. EVM then provides the protection against tampering with binaries, while IMA can provide a signed attestation of which executables have been run.
Previous incarnations of EVM and IMA used the Linux Security Modules (LSM) interface, but that has a very unfortunate side effect: inability to also run SELinux. LSM code has no way to stack or cooperate, so there can only be one module active at a time. Since integrity and MAC are intended to work together, this was seen as a rather serious impediment, so the most recent versions add in hooks for Linux Integrity Modules (LIM). IMA is then added as a LIM integrity provider rather than as an LSM.
In response to an Andrew Morton query about the need for LIM/IMA (EVM has been incorporated into IMA over time), David Safford listed several users of the code:
While that looks a bit like alphabet soup, there is a lot of useful information there (and in his links further down in the post linked above). The biggest news is the three distributions that are implementing "Trusted Computing". The High Assurance Platform (HAP) program is funded by the US National Security Agency (NSA), the folks who brought us SELinux, while the Open Trusted Computing project is funded by the European Commission.
While the security that can be provided by a Trusted Computing platform is useful for some installations, there are some potential pitfalls as well. Systems with TPM hardware can be configured to only run binaries that are signed by some external authority. If manufacturers were to enable that functionality, but only provide the key to "trusted" software companies, it would lead to a horrendous loss of freedom. This is why some have called it "Treacherous Computing".
There are numerous examples of systems that do not necessarily preserve physical security, but that one might want to ensure were running the proper code—voting and cash machines come quickly to mind. For those situations, as well as countless others, Trusted Computing will be a real boon. We just need to be vigilant so that hardware vendors (or, worse yet, governments) don't start restricting what we can run on our own machines.
New vulnerabilities
clamav: stack overflow
| Package(s): | clamav | CVE #(s): | |||||
| Created: | December 3, 2008 | Updated: | December 3, 2008 | ||||
| Description: | From the ClamAV bugzilla entry: There is a recursive stack overflow in clamav 0.93.3 and 0.94 (and probably older versions) in the jpeg parsing code. it scan[]s the jpeg file, and if there is a thumbnail, it'll scan that too. the thumbnail itself is just another jpeg file and the same jpeg scanning function gets called without checking any kind of recur[]sing limit. this can eas[i]ly lead to a recurisive stack overflow. | ||||||
| Alerts: |
| ||||||
cupsys: arbitrary code execution
| Package(s): | cupsys | CVE #(s): | CVE-2008-5286 | ||||||||||||||||||||||||||||||||||||
| Created: | December 3, 2008 | Updated: | January 26, 2009 | ||||||||||||||||||||||||||||||||||||
| Description: | From the Debian advisory: An integer overflow has been discovered in the image validation code of cupsys, the Common UNIX Printing System. An attacker could trigger this bug by supplying a malicious graphic that could lead to the execution of arbitrary code. | ||||||||||||||||||||||||||||||||||||||
| Alerts: |
| ||||||||||||||||||||||||||||||||||||||
flamethrower: temporary file vulnerability
| Package(s): | flamethrower | CVE #(s): | CVE-2008-5141 | ||||
| Created: | December 2, 2008 | Updated: | December 3, 2008 | ||||
| Description: | Flamethrower suffers from a temporary file vulnerability which can be exploited to create a denial of service situation. | ||||||
| Alerts: |
| ||||||
jailer: denial of service via symlink
| Package(s): | jailer | CVE #(s): | CVE-2008-5139 | ||||
| Created: | December 1, 2008 | Updated: | December 3, 2008 | ||||
| Description: | From the Debian advisory: Javier Fernandez-Sanguino Pena discovered that updatejail, a component of the chroot maintenance tool Jailer, creates a predictable temporary file name, which may lead to local denial of service through a symlink attack. | ||||||
| Alerts: |
| ||||||
kernel: denial of service
| Package(s): | linux, linux-source-2.6.15/22 | CVE #(s): | CVE-2007-5498 | ||||
| Created: | November 27, 2008 | Updated: | December 3, 2008 | ||||
| Description: | The kernel has a denial of service vulnerability. From the vulnerability database entry: The Xen hypervisor block backend driver for Linux kernel 2.6.18, when running on a 64-bit host with a 32-bit paravirtualized guest, allows local privileged users in the guest OS to cause a denial of service (host OS crash) via a request that specifies a large number of blocks. | ||||||
| Alerts: |
| ||||||
kernel: denial of service
| Package(s): | linux, linux-source-2.6.15/22 | CVE #(s): | CVE-2008-5025 | ||||||||||||||||||||||||||||||||||||||||
| Created: | November 27, 2008 | Updated: | February 10, 2009 | ||||||||||||||||||||||||||||||||||||||||
| Description: | The kernel has a denial of service vulnerability. From the vulnerability database: Stack-based buffer overflow in the hfs_cat_find_brec function in fs/hfs/catalog.c in the Linux kernel before 2.6.28-rc1 allows attackers to cause a denial of service (memory corruption or system crash) via an hfs filesystem image with an invalid catalog namelength field, a related issue to CVE-2008-4933. | ||||||||||||||||||||||||||||||||||||||||||
| Alerts: |
| ||||||||||||||||||||||||||||||||||||||||||
kernel: denial of service
| Package(s): | linux, linux-source-2.6.15/22 | CVE #(s): | CVE-2008-5033 | ||||||||||||
| Created: | November 27, 2008 | Updated: | August 20, 2009 | ||||||||||||
| Description: | The kernel has a denial of service vulnerability. From the vulnerability database entry: The chip_command function in drivers/media/video/tvaudio.c in the Linux kernel 2.6.25.x before 2.6.25.19, 2.6.26.x before 2.6.26.7, and 2.6.27.x before 2.6.27.3 allows attackers to cause a denial of service (NULL function pointer dereference and OOPS) via unknown vectors. | ||||||||||||||
| Alerts: |
| ||||||||||||||
libsamplerate: buffer overflow
| Package(s): | libsamplerate | CVE #(s): | CVE-2008-5008 | ||||||||
| Created: | December 2, 2008 | Updated: | December 5, 2008 | ||||||||
| Description: | Versions of libsamplerate prior to 0.1.4 suffer from a buffer overflow which could be exploited (via a specially-crafted audio file) to execute arbitrary code. | ||||||||||
| Alerts: |
| ||||||||||
mantis: multiple vulnerabilities
| Package(s): | mantis | CVE #(s): | CVE-2008-4687 CVE-2008-4688 CVE-2008-4689 | ||||
| Created: | December 2, 2008 | Updated: | December 3, 2008 | ||||
| Description: | The mantis bug tracking system has a few bugs of its own, including a failure to sanitize input parameters, information disclosure, and a failure to unset session cookies on logout. | ||||||
| Alerts: |
| ||||||
perl: privilege escalation
| Package(s): | perl | CVE #(s): | CVE-2008-5302 CVE-2008-5303 CVE-2005-0448 CVE-2004-0452 | ||||||||||||||||||||||||||||||||||||||||
| Created: | December 3, 2008 | Updated: | June 14, 2010 | ||||||||||||||||||||||||||||||||||||||||
| Description: | From the Debian advisory: Paul Szabo rediscovered a vulnerability in the File::Path::rmtree function of Perl. It was possible to exploit a race condition to create setuid binaries in a directory tree or remove arbitrary files when a process is deleting this tree. This issue was originally known as CVE-2005-0448 and CVE-2004-0452, which were addressed by DSA-696-1 and DSA-620-1. Unfortunately, they were reintroduced later. | ||||||||||||||||||||||||||||||||||||||||||
| Alerts: |
| ||||||||||||||||||||||||||||||||||||||||||
phpMyAdmin: cross-site scripting
| Package(s): | phpmyadmin | CVE #(s): | CVE-2008-4326 | ||||||||
| Created: | December 1, 2008 | Updated: | February 2, 2009 | ||||||||
| Description: | From the Debian advisory: Masako Oono discovered that phpMyAdmin, a web-based administration interface for MySQL, insufficiently sanitises input allowing a remote attacker to gather sensitive data through cross site scripting, provided that the user uses the Internet Explorer web browser. | ||||||||||
| Alerts: |
| ||||||||||
samba: bounds checking problem
| Package(s): | samba | CVE #(s): | CVE-2008-4314 | ||||||||||||||||||||||||||||||||||||||||||||
| Created: | November 27, 2008 | Updated: | October 5, 2009 | ||||||||||||||||||||||||||||||||||||||||||||
| Description: | Samba has a bounds checking issue. From the Ubuntu alert: It was discovered that Samba did not properly perform bounds checking in certain operations. A remote attacker could possibly exploit this to read arbitrary memory contents of the smb process, which could contain sensitive information or possibly have other impacts, such as a denial of service. | ||||||||||||||||||||||||||||||||||||||||||||||
| Alerts: |
| ||||||||||||||||||||||||||||||||||||||||||||||
wordpress: cross-site scripting
| Package(s): | wordpress | CVE #(s): | CVE-2008-5278 | ||||||||||||||||
| Created: | December 3, 2008 | Updated: | December 22, 2008 | ||||||||||||||||
| Description: | From the Red Hat bugzilla entry: Cross-site scripting (XSS) vulnerability in the self_link function in in the RSS Feed Generator (wp-includes/feed.php) for WordPress before 2.6.5 allows remote attackers to inject arbitrary web script or HTML via the Host header (HTTP_HOST variable). | ||||||||||||||||||
| Alerts: |
| ||||||||||||||||||
Page editor: Jake Edge
Next page:
Kernel development>>
