Hello, On Tue, 2010-09-28 at 21:07 +0000, Raphael Geissert wrote: > Package: salome > Version: 5.1.3-9 > Severity: grave > Tags: security > User: [email protected] > Usertags: ldpath > > Hello, > > During a review of the Debian archive, I've found your package to > contain a script that can be abused by an attacker to execute arbitrary > code. > > The vulnerability is introduced by an insecure change to > LD_LIBRARY_PATH, an environment variable used by ld.so(8) to look for > libraries on a directory other than the standard paths.
Thank you, I'm glad your review found this.
Would a secure change omit the former LD_LIBRARY_PATH? That is, would
it fix this in runSalome to say:
export LD_LIBRARY_PATH=${prefix}/lib:${libdir}:/usr/lib:/usr/local/lib
?
The prefix and libdir variables are set elsewhere in runSalome, so I
don't think one could override those... But if it could be a problem,
I'll have that script hard-code them instead.
> Vulnerable code follows:
>
> /usr/bin/runSalome line 28:
> export LD_LIBRARY_PATH=${prefix}/lib:${libdir}:$LD_LIBRARY_PATH
> /usr/bin/runTestMedCorba line 29:
> export LD_LIBRARY_PATH=$MED_ROOT_DIR/lib/salome:${LD_LIBRARY_PATH}
> /usr/bin/runTestMedCorba line 37:
> export LD_LIBRARY_PATH=$MED_ROOT_DIR/lib/salome:${LD_LIBRARY_PATH}
>
> Possibly vulnerable too:
> /usr/lib/salome/bin/runLightSalome line 139:
> export LD_LIBRARY_PATH=${MY_LD_LIBRARY_PATH}:${LD_LIBRARY_PATH}
> /usr/lib/salome/bin/hxx2salome line 329:
> echo -e "setenv LD_LIBRARY_PATH
> \${${CLASS_NAME}CPP_ROOT_DIR}${lib_dir#${CPP_ROOT_DIR}}:\${LD_LIBRARY_PATH}"
> >> ${ENVIRON_FILE}
> /usr/lib/salome/bin/hxx2salome line 351:
> echo -e "export
> LD_LIBRARY_PATH=\${${CLASS_NAME}CPP_ROOT_DIR}${lib_dir#${CPP_ROOT_DIR}}:\${LD_LIBRARY_PATH}"
> \
> >> ${ENVIRON_FILE}
I see a couple of other bugs in those lines as well... Okay, a lot of
work to do, but starting with fixing the security issue, as soon as I
hear my fix idea above.
> When there's an empty item on the colon-separated list of
> LD_LIBRARY_PATH, ld.so treats it as '.' (i.e. CWD/$PWD.)
> If the given script is executed from a directory where a potential,
> local, attacker can write files to, there's a chance to exploit this
> bug.
>
> This vulnerability has been assigned the CVE id CVE-2010-3377. Please make
> sure
> you mention it when forwarding this report to upstream and when fixing
> this bug (everywhere: upstream and here at Debian.)
>
> [0] http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3377
> [1] http://security-tracker.debian.org/tracker/CVE-2010-3377
Thanks, I'll make sure upstream knows about this.
-Adam
--
GPG fingerprint: D54D 1AEE B11C CE9B A02B C5DD 526F 01E8 564E E4B6
Engineering consulting with open source tools
http://www.opennovation.com/
signature.asc
Description: This is a digitally signed message part

