Hi,

Am Samstag, den 10.09.2011, 19:34 +0200 schrieb Erik Hesselink:
> On Sat, Sep 10, 2011 at 18:51, Joachim Breitner
> <m...@joachim-breitner.de> wrote:
> > Am Samstag, den 10.09.2011, 11:26 +0200 schrieb Erik Hesselink:
> >> Did you know you can also put a .ghci file in your project dir, and if
> >> you start ghci from that dir, it will also load that file? I think
> >> that allows you to replicate some of the functionality of this tool,
> >> since it allows per project ghci options.
> >
> > is this well known and documented enough? It seems to me that most
> > people would not expect that running "ghci" in a directory can cause
> > arbitrary commands to be executed. This could be a security issue, e.g.
> > running ghci in a just downloaded software package with a rouge .ghci
> > file... but I am not sure what can or should be done about it.
> 
> Running ghci runs template haskell, which can already run arbitrary
> code. Not that that fact makes this more secure, but if you don't
> trust the Haskell packages you're installing, there are larger
> security issues than .ghci files.

yes, but this requires actively loading a file. Executing arbitrary
commads when someone starts ghci in a rouge folder (consider an examiner
on a multi-user machine at a university) is of a different quality.
Especially as the file is hidden – TH code can easily be checked for
before.

Also it affects invocations "ghc -e", which conceivably could be used in
aliases for some action unrelated to running a ghci session, as in
http://www.joachim-breitner.de/blog/archives/156-Haskell-on-the-Command-Line.html

Maybe the file shouldn’t be hidden, this would give some protection.
Alternatively, ghci could keep a white-list of files somewhere ~/.ghci
and ask if it should execute a .ghci file that has not been encountered
before.

I just noticed that it will not read files in directories not owned by
you and warn you about it (e.g. in /tmp), which is a good start. But
this does not help against files in packaged repositories.

Greetings,
Joachim



-- 
Joachim "nomeata" Breitner
  m...@joachim-breitner.de  |  nome...@debian.org  |  GPG: 0x4743206C
  xmpp: nome...@joachim-breitner.de | http://www.joachim-breitner.de/

 

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to