CVE-2010-2526: Medium severity lvm2 vulnerability

Published Jul 13, 2010
·
Updated

During some routine code review last week, Alasdair Kergon spotted a security flaw in the clustered LVM daemon, clvmd. The report from him is as follows:

Clvmd, a privileged process, accepts, acts upon and responds to communications from unprivileged processes.

Background information ======================

clvmd belongs to the lvm2-cluster package and as such is normally used in shared storage clusters, where several machines are using the same disks in parallel. It is run on every machine in such a cluster. The daemon has to be enabled explictly after installing the package: it does not run by default (since RHEL4.5). Systems not running the daemon i.e. most LVM systems, not subscribed to RHN clustering channels, are not vulnerable.

Clvmd has three roles that require root privilege:

(1) Communicate with clvmd processes on other machines;

(2) Hold locks to ensure conflicting commands are not run in parallel;

(3) Make Logical Volumes available for use on the local machine by issuing the appropriate device-mapper ioctls to the kernel.

When a LVM command is issued in a cluster, an instruction is sent to the local clvmd to obtain the necessary locks and to activate or deactivate logical volumes. Any changes to the on-disk LVM metadata are performed by the original LVM process - not by clvmd itself - and then the instance of clvmd on each machine reads the updated metadata independently from disk.

The flaw ========

The problem was caused by an upstream commit made in April 2004. Prior to that, the communication between lvm and clvmd was through a socket in the filesystem, so it was protected by standard file-system security mechanisms. The commit in question changed it to use an abstract socket starting with a NUL byte (see 'man 7 unix') but no attempt was made to secure it by exchanging credentials. Consequently an unprivileged process can instruct clvmd to perform operations that were supposed to be available only to root.

Operations available to an attacker:

(1) Instruct clvmd to suspend the use of any Logical Volume visible to any machine in the cluster with immediate effect.

(2) Instruct clvmd to activate, deactivate or reload any Logical Volume visible to any machine in the cluster. (Deactivation will fail if the Logical Volume is in use.)

(3) Instruct clvmd to die.

(4) Instruct clvmd to restart (versions 2.02.64 and later).

(5) Instruct clvmd to obtain, release or report the state of locks held by the daemon.

(6) Enable/disable clvmd's debugging mode which controls the amount of detail it logs.

(7) Instruct clvmd to create a backup of a Volume Group's metadata on all the other nodes.

(8) Instruct clvmd to report the cluster name.

(9) Instruct clvmd to echo back the command it received.

(10) Instruct clvmd to refresh its internal caches.

Several of these involve performing privileged operations and could impact upon service availability on machines belonging to the cluster.

The fix ======= We are reverting to using a pathname for the socket and relying upon standard filesystem security.

Other sources

The cluster logical volume manager daemon (clvmd) in lvm2-cluster in LVM2 before 2.02.72, as used in Red Hat Global File System (GFS) and other products, does not verify client credentials upon a socket connection, which allows local users to cause a denial of service (daemon exit or logical-volume change) or possibly have unspecified other impact via crafted control commands.

Affected Software

29 affected componentsFixes available
redhat/lvm2-cluster<0:2.02.56-7.el5_5.4
0:2.02.56-7.el5_5.4
Heinz Mauelshagen Lvm2<=2.02.71
Heinz Mauelshagen Lvm2=2.02.50
Heinz Mauelshagen Lvm2=2.02.51
Heinz Mauelshagen Lvm2=2.02.52
Heinz Mauelshagen Lvm2=2.02.53
Heinz Mauelshagen Lvm2=2.02.54
Heinz Mauelshagen Lvm2=2.02.55
Heinz Mauelshagen Lvm2=2.02.56
Heinz Mauelshagen Lvm2=2.02.57
Heinz Mauelshagen Lvm2=2.02.58
Heinz Mauelshagen Lvm2=2.02.59
Heinz Mauelshagen Lvm2=2.02.60
Heinz Mauelshagen Lvm2=2.02.61
Heinz Mauelshagen Lvm2=2.02.62
Heinz Mauelshagen Lvm2=2.02.63
Heinz Mauelshagen Lvm2=2.02.64
Heinz Mauelshagen Lvm2=2.02.65
Heinz Mauelshagen Lvm2=2.02.66
Heinz Mauelshagen Lvm2=2.02.67
Heinz Mauelshagen Lvm2=2.02.68
Heinz Mauelshagen Lvm2=2.02.69
Heinz Mauelshagen Lvm2=2.02.70
redhat Cluster Suite
redhat Enterprise Linux=3
redhat Enterprise Linux=3.0
redhat Enterprise Linux=4
redhat Enterprise Linux=4.0
redhat Enterprise Linux=5

Event History

Jul 13, 2010
Data Sourced
via Red Hat·10:55 PM
DescriptionSeverityAffected Software
Jul 28, 2010
CVE Published
12:00 AM
Aug 4, 2010
CVE Published
via MITRE·09:00 PM
Data Sourced
via MITRE·09:00 PM
Description
Aug 5, 2010
Data Sourced
01:22 PM
DescriptionWeaknessAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

What is the severity of CVE-2010-2526?

CVE-2010-2526 has a moderate severity level due to its potential for privilege escalation through improper handling of communications by clvmd.

2

What software versions are affected by CVE-2010-2526?

CVE-2010-2526 affects specific versions of the lvm2-cluster package, specifically those before 0:2.02.56-7.el5_5.4 and several versions of LVM2 up to 2.02.70.

3

How do I fix CVE-2010-2526?

To remediate CVE-2010-2526, upgrade the lvm2-cluster package to version 0:2.02.56-7.el5_5.4 or later.

4

Is CVE-2010-2526 a local or remote vulnerability?

CVE-2010-2526 is considered a local vulnerability as it requires unprivileged processes to communicate with the clustered LVM daemon.

5

What should I do if I can't upgrade to a fixed version for CVE-2010-2526?

If you cannot upgrade, consider applying additional security measures such as network segmentation or access controls to limit exposure.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203