-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Package: yacas
Version: 1.0.57-3
Severity: important

The Plot2D function of yacas communicates with gnuplot through
temporary files. The name of the files is hard-wired into yacas, as
follows:

A new directory /tmp/plot.tmp is created, if it does not yet
exist. And files gnuplot.in and data1 under that directory are used
for the temporary files.

This opens up a "tmp file vulnerability" and is simply not appropriate
for a mutliuser system like Linux.

For one, it is not mutliuser - safe. Try this:

As one user, start yacas, and type, at the prompt,

Plot2D(Sin(x), 0:10)

("Sin", not "sin")

Assuming you also have gnuplot installed, a nice sin graph will pop
up.

A second user trying the same, while the first is still looking at the
nice graph, will not suceed. The /tmp/plot.tmp directory is owned by
the first user, and the files can not be written by the second.

There is even a race condition problem if only one user has several
instances of yacas up and running in parallel (as I sometimes do).

And, this stuff is outright dangerous: If someone maliciously sets up
/tmp/plot.tmp/data1 as a symbolic link pointing to any old file
somewhere in the file system, yacas will happily overwrite that file
with the plot data.

So if I know you're using yacas' Print2D, I can set things up in the
/tmp directory so that yacas will trash any of your files (e.g., your
mailbox, or your GPG key, or your ssh key (or even /etc/passwd, if you
are root).

It is because of this danger I've decided to file this with severity
"important".

In my opinion, to create a new directory is a good idea. But yacas
should make sure nothing of that name already exists beforehand. And
there should be no time wasted: The check and the file creation must
happen atomically. In other words, it must not even theoretically be
possible to set things up maliciously between the existence check and
the creation. If the directory already does exists, a fresh directory
name (preferably unpredictable) should be used.

Compare the Debian policy:

http://www.debian.org/doc/debian-policy/ch-files.html

which has a little remark on temp files in 10.4.

Regards, and thank you for providing fine software

Andreas

- -- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-4-vserver-686
Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=UTF-8)

Versions of packages yacas depends on:
ii  debianutils            2.17              Miscellaneous utilities
specific t
ii  dillo [www-browser]    0.8.5-4.1         Small and fast web browser
ii  freeglut3              2.4.0-5           OpenGL Utility Toolkit
ii  iceweasel [www-browser 2.0.0.3-1         lightweight web browser
based on M
ii  konqueror [www-browser 4:3.5.5a.dfsg.1-6 KDE's advanced file
manager, web b
ii  libc6                  2.3.6.ds1-13      GNU C Library: Shared
libraries
ii  libgcc1                1:4.1.1-21        GCC support library
ii  libgl1-mesa-glx [libgl 6.5.1-0.6         A free implementation of
the OpenG
ii  libglu1-mesa [libglu1] 6.5.1-0.6         The OpenGL utility
library (GLU)
ii  libgsl0                1.8-2             GNU Scientific Library
(GSL) -- li
ii  libice6                1:1.0.1-2         X11 Inter-Client Exchange
library
ii  libsm6                 1:1.0.1-3         X11 Session Management
library
ii  libstdc++6             4.1.1-21          The GNU Standard C++
Library v3
ii  libx11-6               2:1.0.3-7         X11 client-side library
ii  libxext6               1:1.0.1-2         X11 miscellaneous
extension librar
ii  libxi6                 1:1.0.1-4         X11 Input extension library
ii  libxmu6                1:1.0.2-2         X11 miscellaneous utility
library
ii  libxt6                 1:1.0.2-2         X11 toolkit intrinsics
library
ii  lynx [www-browser]     2.8.5-2sarge2.2   Text-mode WWW Browser
ii  w3m [www-browser]      0.5.1-5.1         WWW browsable pager with
excellent
ii  yacas-doc              1.0.57-3          Documentation for Yacas

yacas recommends no packages.

- -- no debconf information
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGTca+nWrlKaIH40ARAoPwAJwJZFZrFHxqS6cTiRkCj9R0xQggnQCeJHig
XItxDC5/jQ0aeUcc4gD+wxU=
=K8Ch
-----END PGP SIGNATURE-----


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to