[Python-ideas] An official complaint regarding the marshal and pickle documentation

Aaron Watters aaron.watters at gmail.com
Wed Mar 5 20:03:23 CET 2008


What follows is a brief summary of offline discussions with Guido and
Leonardo (I hope represented correctly, please complain if not):

Guido pointed out that previous versions of marshal could crash python.

I replied that that is a bug and all known instances have been fixed.
Pickle executes arbitrary code by design -- which is much worse than just
crashing a program.

Leonardo mentioned that pickle security concerns could be addressed using
crypto tricks.

I replied that I would be comfortable unmarshalling a file from a known
hostile party -- no crypto verification required, because the worst that
could happen is that it would crash the interpreter.  With pickle I'd be
handing my keyboard to a villian.

In summary: I think marshal.loads(s) is just as safe as unicode(s) or
file.read().  pickle.loads(s) is morally equivalant to __import__(s) or
eval(s).
I think the security warning for marshal and the implied recommendation that
pickle is okay for RPC should be removed.

  alright already, 'nuff said. whatever.  -- Aaron Watters
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20080305/bc3aa705/attachment.html>


More information about the Python-ideas mailing list