This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Don't encourage using Safe in perlsec
authorRafael Garcia-Suarez <rgs@consttype.org>
Thu, 18 Mar 2010 22:43:51 +0000 (23:43 +0100)
committerRafael Garcia-Suarez <rgs@consttype.org>
Thu, 18 Mar 2010 22:43:51 +0000 (23:43 +0100)
pod/perlsec.pod

index d11e3dc..1c49453 100644 (file)
@@ -346,10 +346,15 @@ programs launched on someone else's behalf, like CGI programs.
 This is quite different, however, from not even trusting the writer of the
 code not to try to do something evil.  That's the kind of trust needed
 when someone hands you a program you've never seen before and says, "Here,
 This is quite different, however, from not even trusting the writer of the
 code not to try to do something evil.  That's the kind of trust needed
 when someone hands you a program you've never seen before and says, "Here,
-run this."  For that kind of safety, check out the Safe module,
-included standard in the Perl distribution.  This module allows the
+run this."  For that kind of safety, you might want to check out the Safe
+module, included standard in the Perl distribution.  This module allows the
 programmer to set up special compartments in which all system operations
 programmer to set up special compartments in which all system operations
-are trapped and namespace access is carefully controlled.
+are trapped and namespace access is carefully controlled.  Safe should
+not be considered bullet-proof, though: it will not prevent the foreign
+code to set up infinite loops, allocate gigabytes of memory, or even
+abusing perl bugs to make the host interpreter crash or behave in
+unpredictable ways. In any case it's better avoided completely if you're
+really concerned about security.
 
 =head2 Security Bugs
 
 
 =head2 Security Bugs