[ltt-dev] [PATCH UST] Fix insecure library loading (Debian Bug #598309, CVE-2010-3386)
David Goulet
david.goulet at polymtl.ca
Wed Sep 29 19:11:17 EDT 2010
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hey Nils,
Good thing for the release. Important side note. We *must* detail very carefully
in the changelog the change of the API for tracepoints that needs a data
pointer. The old tracepoints, on next release, will only dump warnings at
compile time and the tracepoints will *not* works. (There is an error at compile
if the register_trace_* is used at init() though).
Just a reminder
Thanks!
David
On 10-09-29 02:57 PM, Nils Carlson wrote:
> Looks good,
>
> I will test it and integrate it tomorrow. Hopefully I can make a new
> release by the end of the week.
>
> /Nils
> On Sep 29, 2010, at 5:06 PM, Mathieu Desnoyers wrote:
>
>> Thanks to Raphael Geissert for spotting this, and to Jon Bernard for
>> forwarding
>> the information to us.
>>
>> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.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
>>
>> _______________________________________________
>> ltt-dev mailing list
>> ltt-dev at lists.casi.polymtl.ca
>> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>
>
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
- --
David Goulet
LTTng project, DORSAL Lab.
1024D/16BD8563
BE3C 672B 9331 9796 291A 14C6 4AF7 C14B 16BD 8563
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iEYEARECAAYFAkyjx5UACgkQSvfBSxa9hWOgPwCfVnk6+akGcVZk9KTYe8Gr9evo
lbIAoKzRP2TIpgR6wEkEYXQjHU7tbIcA
=Mv+g
-----END PGP SIGNATURE-----
More information about the lttng-dev
mailing list