CVE-2010-3847: Medium severity gnu c library vulnerability

Published Oct 15, 2010
·
Updated

elf/dl-load.c in ld.so in the GNU C Library (aka glibc or libc6) through 2.11.2, and 2.12.x through 2.12.1, does not properly handle a value of $ORIGIN for the LDAUDIT environment variable, which allows local users to gain privileges via a crafted dynamic shared object (DSO) located in an arbitrary directory.

Other sources

Tavis Ormandy pointed out that glibc does not follow ELF specification recommendation that $ORIGIN expansion should not be performed for setuid/setgid programs. Tavis quoted:

http://web.archive.org/web/20041026003725/http://www.caldera.com/developers/gabi/2003-12-17/ch5.dynamic.html

For security, the dynamic linker does not allow use of $ORIGIN substitution sequences for set-user and set-group ID programs. For such sequences that appear within strings specified by DTRUNPATH dynamic array entries, the specific search path containing the $ORIGIN sequence is ignored (though other search paths in the same string are processed). $ORIGIN sequences within a DTNEEDED entry or path passed as a parameter to dlopen() are treated as errors. The same restrictions may be applied to processes that have more than minimal privileges on systems with installed extended security mechanisms.

Tavis showed that it's possible to escalate privileges by forcing $ORIGIN expansion from LDAUDIT (which is supposed to be ignored for setuid/setgid binaries, it's listed in UNSECUREENVVARS).

Acknowledgements:

Red Hat would like to thank Tavis Ormandy for reporting this issue.

Red Hat

Affected Software

57 affected componentsFixes available
redhat/glibc<0:2.5-49.el5_5.6
0:2.5-49.el5_5.6
redhat/glibc<0:2.12-1.7.el6_0.3
0:2.12-1.7.el6_0.3
GNU glibc=2.2.2
GNU glibc=2.9
GNU glibc=2.7
GNU glibc=2.1.2
GNU glibc=2.11
GNU glibc=2.0.5
GNU glibc=2.2.5
GNU glibc=2.0.6
GNU glibc=2.10.1
GNU glibc=1.00
GNU glibc=1.06
GNU glibc=2.1.1
GNU glibc=1.02
GNU glibc=2.0.3
GNU glibc=1.07
GNU glibc=2.3.1
GNU glibc=2.3
GNU glibc=2.12.0
GNU glibc=2.0
GNU glibc=2.1.1.6
GNU glibc=1.04
GNU glibc=1.01
GNU glibc=2.3.10
GNU glibc=2.4
GNU glibc=2.1
GNU glibc=2.3.4
GNU glibc=1.09.1
GNU glibc=2.1.9
GNU glibc=2.3.3
GNU glibc=2.12.1
GNU glibc=2.6.1
GNU glibc=2.0.1
GNU glibc=1.09
GNU glibc=2.10
GNU glibc=2.5.1
GNU glibc=2.6
GNU glibc=2.0.4
GNU glibc=2.0.2
GNU glibc=2.2.1
GNU glibc=2.3.2
GNU glibc=1.03
GNU glibc=2.1.3.10
GNU glibc=2.3.6
GNU glibc=2.2.3
GNU glibc=2.5
GNU glibc=1.08
GNU glibc=2.3.5
GNU glibc=2.8
GNU glibc=2.11.1
GNU glibc=2.2.4
GNU glibc=2.1.3
GNU glibc<=2.11.2
GNU glibc=1.05
GNU glibc=2.2
GNU glibc=2.10.2

Event History

Oct 15, 2010
Data Sourced
08:58 AM
DescriptionSeverityAffected Software
Oct 18, 2010
CVE Published
12:00 AM
Jan 7, 2011
CVE Published
via MITRE·06:00 PM
Data Sourced
via MITRE·06:00 PM
Description

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

What is the severity of CVE-2010-3847?

CVE-2010-3847 is classified as a high severity vulnerability due to its potential for privilege escalation.

2

How do I fix CVE-2010-3847?

To fix CVE-2010-3847, update the GNU C Library (glibc) to versions 2.11.3 or later, or apply the appropriate patches.

3

What types of systems are affected by CVE-2010-3847?

CVE-2010-3847 affects systems using GNU C Library versions through 2.11.2 and specific 2.12.x versions up to 2.12.1.

4

Can CVE-2010-3847 be exploited remotely?

CVE-2010-3847 requires local access for exploitation since it involves manipulating environment variables.

5

What are the potential impacts of CVE-2010-3847?

Exploitation of CVE-2010-3847 can lead to local users gaining elevated privileges, compromising system security.

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