Vigil@nce: Linux kernel, denial of service via VDSO and 64 bit
March 2010 by Vigil@nce
SYNTHESIS OF THE VULNERABILITY
On a x86_64 processor, a local attacker can protect the VDSO page
and generate a segmentation error, in order to stop the system.
Severity: 1/4
Consequences: denial of service of computer
Provenance: user shell
Means of attack: no proof of concept, no attack
Ability of attacker: expert (4/4)
Confidence: confirmed by the editor (5/5)
Diffusion of the vulnerable configuration: high (3/3)
Creation date: 17/03/2010
IMPACTED PRODUCTS
– Linux kernel
– Red Hat Enterprise Linux
DESCRIPTION OF THE VULNERABILITY
The VDSO (Virtual Dynamically-linked Shared Object) is used by a
process to access to kernel features, without using a system call.
When a process dereferences a NULL pointer, a segmentation error
occurs. This error is managed by the kernel, which stops the
process.
However, a 32 bit process on a 64 bit processor can call
mprotect() on a VDSO page, and then generate a segmentation error.
In this case, a fatal error occurs and stops the kernel.
On a x86_64 processor, a local attacker can therefore protect the
VDSO page and generate a segmentation error, in order to stop the
system.
CHARACTERISTICS
Identifiers: 548876, CVE-2009-4271, RHSA-2010:0146-01,
VIGILANCE-VUL-9517
http://vigilance.fr/vulnerability/Linux-kernel-denial-of-service-via-VDSO-and-64-bit-9517