[ltt-dev] [PATCH UST] Fix insecure library loading (Debian Bug #598309, CVE-2010-3386) (v2)
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Thu Sep 30 10:49:05 EDT 2010
Thanks to Raphael Geissert for spotting this, and to Jon Bernard for forwarding
the information to us.
Changelog since v1:
Apply comments from Nils.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
Reviewed-by: Nils Carlson <nils.carlson at ericsson.com>
CC: Raphael Geissert <geissert at debian.org>
CC: Jon Bernard <jbernard at debian.org>
---
usttrace | 47 +++++++++++++++++++++++++++++++++++++----------
1 file changed, 37 insertions(+), 10 deletions(-)
Index: ust/usttrace
===================================================================
--- ust.orig/usttrace
+++ ust/usttrace
@@ -132,27 +132,54 @@ fi
if [ "$arg_preload_libust" = "1" ];
then
- if [ -n "${LIBUST_PATH%libust.so}" ] ; then
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${LIBUST_PATH%libust.so}"
+ if [ -n "${LIBUST_PATH%libust.so}" ];
+ then
+ if [ -n "$LD_LIBRARY_PATH" ];
+ then
+ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${LIBUST_PATH%libust.so}"
+ else
+ export LD_LIBRARY_PATH="${LIBUST_PATH%libust.so}"
+ fi
+ fi
+ if [ -n "$LIBUST_PATH" ];
+ then
+ if [ -n "$LD_PRELOAD" ];
+ then
+ export LD_PRELOAD="$LD_PRELOAD:$LIBUST_PATH"
+ else
+ export LD_PRELOAD="$LIBUST_PATH"
+ fi
fi
- export LD_PRELOAD="$LD_PRELOAD:$LIBUST_PATH"
fi
- if [ "$arg_ld_std_ust" = "1" ];
+ if [ "$arg_ld_std_ust" = "1" ] && [ -n "${LIBUST_PATH%libust.so}" ];
then
- if [ -n "$${LIBUST_PATH%libust.so}" ] ; then
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${LIBUST_PATH%libust.so}"
+ if [ -n "$LD_LIBRARY_PATH" ];
+ then
+ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${LIBUST_PATH%libust.so}"
+ else
+ export LD_LIBRARY_PATH="${LIBUST_PATH%libust.so}"
fi
fi
- if [ "$arg_preload_malloc" = "1" ];
+ if [ "$arg_preload_malloc" = "1" ] && [ -n "$LIBMALLOCWRAP_PATH" ];
then
- export LD_PRELOAD="$LD_PRELOAD:$LIBMALLOCWRAP_PATH"
+ if [ -n "$LD_PRELOAD" ];
+ then
+ export LD_PRELOAD="$LD_PRELOAD:$LIBMALLOCWRAP_PATH"
+ else
+ export LD_PRELOAD="$LIBMALLOCWRAP_PATH"
+ fi
fi
- if [ "$arg_preload_fork" = "1" ];
+ if [ "$arg_preload_fork" = "1" ] && [ -n "$LIBINTERFORK_PATH" ];
then
- export LD_PRELOAD="$LD_PRELOAD:$LIBINTERFORK_PATH"
+ if [ -n "$LD_PRELOAD" ];
+ then
+ export LD_PRELOAD="$LD_PRELOAD:$LIBINTERFORK_PATH"
+ else
+ export LD_PRELOAD="$LIBINTERFORK_PATH"
+ fi
fi
# Execute the command
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list