Control: tags 662903 + security On Wed, 2012-03-07 at 14:09 +0800, Paul Wise wrote:
> apertium-dbus sets up debugging output to /tmp/mode.log and then never
> uses it. It should not setup this log file at all if it will not use
> it.
Turns out this is a minor security issue An attacker could create
arbitrarily named empty files as the user running apertium-dbus. There
is no possibility of any other issues because the log is not written to:
pabs@chianamo ~ $ sudo ln -s /home/pabs/foo /tmp/mode.log
pabs@chianamo ~ $ ls -l /home/pabs/foo /tmp/mode.log
ls: cannot access /home/pabs/foo: No such file or directory
lrwxrwxrwx 1 root root 14 Sep 5 23:09 /tmp/mode.log -> /home/pabs/foo
pabs@chianamo ~ $ apertium-tolk
/usr/bin/apertium-tolk:69: GtkWarning: IA__gtk_toolbar_set_icon_size: assertion
`icon_size != GTK_ICON_SIZE_INVALID' failed
self.glade = tolk.GladeXML(path) # Instantiate our custom Glade class which
extends the gtk.glade.GladeXML class
pabs@chianamo ~ $ ls -l /home/pabs/foo /tmp/mode.log
-rw-r----- 1 pabs pabs 0 Sep 5 23:09 /home/pabs/foo
lrwxrwxrwx 1 root root 14 Sep 5 23:09 /tmp/mode.log -> /home/pabs/foo
pabs@chianamo ~ $ file foo
foo: empty
pabs@chianamo ~ $ echo foo > foo
pabs@chianamo ~ $ ls -l /home/pabs/foo /tmp/mode.log
-rw-r----- 1 pabs pabs 4 Sep 5 23:10 /home/pabs/foo
lrwxrwxrwx 1 root root 14 Sep 5 23:09 /tmp/mode.log -> /home/pabs/foo
pabs@chianamo ~ $ cat foo
foo
pabs@chianamo ~ $ apertium-tolk
/usr/bin/apertium-tolk:69: GtkWarning: IA__gtk_toolbar_set_icon_size: assertion
`icon_size != GTK_ICON_SIZE_INVALID' failed
self.glade = tolk.GladeXML(path) # Instantiate our custom Glade class which
extends the gtk.glade.GladeXML class
pabs@chianamo ~ $ ls -l /home/pabs/foo /tmp/mode.log
-rw-r----- 1 pabs pabs 4 Sep 5 23:10 /home/pabs/foo
lrwxrwxrwx 1 root root 14 Sep 5 23:09 /tmp/mode.log -> /home/pabs/foo
pabs@chianamo ~ $ cat foo
foo
pabs@chianamo ~ $ grep -C2 log /usr/share/apertium/dbus-1/mode.py
import os.path as path
import os
import logging
import service
--
service.quit()
def setup_logging():
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(levelname)-8s %(message)s',
datefmt='%a, %d %b %Y %H:%M:%S',
filename='/tmp/mode.log',
filemode='w')
if __name__ == "__main__":
setup_logging()
objs = create_translation_objects()
service.add_signal_receiver(quit_handler, dbus_interface =
"org.apertium.General", signal_name = "QuitSignal")
--
bye,
pabs
http://wiki.debian.org/PaulWise
signature.asc
Description: This is a digitally signed message part

