Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Full Disclosure: Full-Disclosure

Mathematica8.0.4 on Linux /tmp/MathLink vulnerability

 

 

Full Disclosure full-disclosure RSS feed   Index | Next | Previous | View Threaded


paul.szabo at sydney

Apr 14, 2012, 3:28 PM

Post #1 of 3 (292 views)
Permalink
Mathematica8.0.4 on Linux /tmp/MathLink vulnerability

The problem reported for Mathematica became worse at version 8.0.4,
present for the command-line interface "math" also.

Cheers,

Paul Szabo psz [at] maths http://www.maths.usyd.edu.au/u/psz/
School of Mathematics and Statistics University of Sydney Australia


---

http://lists.grok.org.uk/pipermail/full-disclosure/2010-May/074548.html
http://www.securityfocus.com/archive/1/511298
http://www.securityfocus.com/bid/40169


Paraphrasing what I wrote on 14 May 2010:

"Mathematica is the world's ultimate application for computations..."
http://www.wolfram.com/products/

Mathematica on Linux uses the /tmp/MathLink directory in insecure ways.
Mathematica creates or re-uses an existing /tmp/MathLink directory, and
overwrites files within and follows symlinks. This type of behaviour is
"known unsafe" on multi-user machines e.g. University login servers.
As a classic example of a symlink attack, if an "attacker" uses:

mkdir /tmp/MathLink; ln -s /home/victim/.bashrc /tmp/MathLink/.shmsrec

then when the victim runs Mathematica his ~/.bashrc will be clobbered.
New files are created world-writable, allowing a complete compromise of
the user account by linking to ~/.bash_logout . (If root ever uses
Mathematica then the damage is greater.)

There is no workaround: the command-line math interface is also unsafe.

Notified support [at] wolfram on 7 May 2010, was assigned [TS 16194].

_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/


dhillonv10 at gmail

Apr 16, 2012, 11:54 AM

Post #2 of 3 (249 views)
Permalink
Re: Mathematica8.0.4 on Linux /tmp/MathLink vulnerability [In reply to]

Hello,

One quick fix here could be to change user permissions with chmod or
add a new group where Mathematica in /tmp doesn't have permissions to
anything under /home so then even if a user is compromised, the
symlink won't work because the user doesn't have permissions. A root
user here is an entirely different problem, here an attacker can
symlink to any directory. So a new group to setup permissions for
Mathemtica /tmp access would be a better idea. Will look into a patch
soon.

- Vikram

On Sat, Apr 14, 2012 at 6:28 PM, <paul.szabo [at] sydney> wrote:
> The problem reported for Mathematica became worse at version 8.0.4,
> present for the command-line interface "math" also.
>
> Cheers,
>
> Paul Szabo   psz [at] maths   http://www.maths.usyd.edu.au/u/psz/
> School of Mathematics and Statistics   University of Sydney    Australia
>
>
> ---
>
> http://lists.grok.org.uk/pipermail/full-disclosure/2010-May/074548.html
> http://www.securityfocus.com/archive/1/511298
> http://www.securityfocus.com/bid/40169
>
>
> Paraphrasing what I wrote on 14 May 2010:
>
> "Mathematica is the world's ultimate application for computations..."
> http://www.wolfram.com/products/
>
> Mathematica on Linux uses the /tmp/MathLink directory in insecure ways.
> Mathematica creates or re-uses an existing /tmp/MathLink directory, and
> overwrites files within and follows symlinks. This type of behaviour is
> "known unsafe" on multi-user machines e.g. University login servers.
> As a classic example of a symlink attack, if an "attacker" uses:
>
> mkdir /tmp/MathLink; ln -s /home/victim/.bashrc /tmp/MathLink/.shmsrec
>
> then when the victim runs Mathematica his ~/.bashrc will be clobbered.
> New files are created world-writable, allowing a complete compromise of
> the user account by linking to ~/.bash_logout . (If root ever uses
> Mathematica then the damage is greater.)
>
> There is no workaround: the command-line math interface is also unsafe.
>
> Notified support [at] wolfram on 7 May 2010, was assigned [TS 16194].



--
Regards,
Vikram Dhillon

~~~
To perceive is to suffer.

_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/


paul.szabo at sydney

Apr 16, 2012, 1:51 PM

Post #3 of 3 (257 views)
Permalink
Re: Mathematica8.0.4 on Linux /tmp/MathLink vulnerability [In reply to]

Dear Vikram,

>> Mathematica on Linux uses the /tmp/MathLink directory in insecure ways.
>> Mathematica creates or re-uses an existing /tmp/MathLink directory, and
>> overwrites files within and follows symlinks. ...
>
> One quick fix here could be to change user permissions with chmod or
> add a new group where Mathematica in /tmp doesn't have permissions to
> anything under /home so then even if a user is compromised, the
> symlink won't work because the user doesn't have permissions. A root
> user here is an entirely different problem, here an attacker can
> symlink to any directory. So a new group to setup permissions for
> Mathemtica /tmp access would be a better idea. Will look into a patch
> soon.

My ideas for a fix, so far:

It is tempting to add O_NOFOLLOW to the relevant open() calls, maybe by
changing the string "open" to something else:
perl -i.bak -pe 's/open/PSzO/g' SystemFiles/Libraries/Linux*/libML*.so
and LD_PRELOAD a library built from something like
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int PSzO(const char *pathname, int flags, mode_t mode)
{
return open(pathname, flags|O_NOFOLLOW, mode);
}
but that would not work: I believe those files in /tmp/MathLink allow
other processes to send commands to the running Mathematica session,
possibly including shell escapes.

The fix might be to make the directory in /tmp private to the user,
naming it /tmp/MathLink-$USER and checking it has right owner and
"chmod 0700" permissions. That fix will need to be implemented by
Wolfram.

Cheers, Paul

Paul Szabo psz [at] maths http://www.maths.usyd.edu.au/u/psz/
School of Mathematics and Statistics University of Sydney Australia

_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/

Full Disclosure full-disclosure RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.