[Debian-med-packaging] Bug#508942: CVE-2008-5378: possible symlink attacks

Andreas Tille tillea at rki.de
Mon Dec 22 13:57:15 UTC 2008


Hi,

when I started manitaining arb I noticed that the program might crash
under some seldom occurrences.  To enable the users to start cleanly
another instance I enhanced the scripts provided by upstream which
basically parse a file containing the PIDs of the main arb processes.
These files are stored under

     /tmp/arb_pids_${USER}_${ARB_PID}

Code:
   ARBDB/adcomm.c:    sprintf(filename,"/tmp/arb_pids_%s_%s",user,arb_pid);
   SH/arb_fastdnaml:/bin/echo "$sig $$ \c" >>/tmp/arb_pids_${USER}_${ARB_PID}

These files are parsed in the following scripts provided by upstream:

$ grep -R arb_pids_ * | grep -v -e "\.c:" -e "debian" -e "echo"
SH/arb_clean:   pidfiles=/tmp/arb_pids_$USER_*
SH/arb_clean:   pidfiles=/tmp/arb_pids_${USER}_${ARB_PID}
SH/arb_panic:chooser="/tmp/arb_pids_${USER}_*"
SH/arb_panic:if [ ! -f /tmp/arb_pids_${USER}_${ARB_PID} ]; then
SH/arb_panic:for i in `cat /tmp/arb_pids_${USER}_${ARB_PID}`; do

These are most probably volunarable as well as arb_kill[1] which is
"a working version" of arb_kill basically.  After quite good experiences
with recent versions of arb the issue of arb_kill became void and I
could simply drop this script to fix CVE-2008-5378 - but this would not
solve the problem with the scripts provided by upstream.

Currently I see two options:

   1. Do not install arb_{clean,panic} any more in the binary package
      and advise the user in the docs what to do in case of a problem.
   2. Make the temp file save against symlink attacks.  The question
      I have for this case which should probably be prefered is: How
      can I savely teach an independent script about the PIDs of a
      crashed program that should be stopped.  I think random file names
      will not really work here or do I miss something?

Kind regards

        Andreas.

[1] http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5378

-- 
http://fam-tille.de





More information about the Debian-med-packaging mailing list