Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Jan 2006 07:30:08 GMT
From:      Lupe Christoph <lupe@lupe-christoph.de>
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   Re: ports/91872: p5-Net-Server fails to untaint the executable path
Message-ID:  <200601250730.k0P7U8o8046373@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/91872; it has been noted by GNATS.

From: Lupe Christoph <lupe@lupe-christoph.de>
To: Vasil Dimov <vd@FreeBSD.org>
Cc: bug-followup@FreeBSD.org
Subject: Re: ports/91872: p5-Net-Server fails to untaint the executable path
Date: Wed, 25 Jan 2006 08:23:45 +0100

 On Tuesday, 2006-01-24 at 11:03:21 +0200, Vasil Dimov wrote:
 > On Mon, Jan 16, 2006 at 04:44:07PM +0100, Lupe Christoph wrote:
 > > --- Net-Server.patch begins here ---
 > > --- /usr/local/lib/perl5/site_perl/5.8.7/Net/Server.pm.orig	Mon Dec  5 22:13:04 2005
 > > +++ /usr/local/lib/perl5/site_perl/5.8.7/Net/Server.pm	Mon Jan 16 16:26:49 2006
 > ...
 
 > Can you please submit a patch that applies to the port, not the
 > installed software.
 > E.g. /usr/ports/net/p5-Net-Server not /usr/local/lib/perl5/site_perl/5.8.7/
 
 As you wish, master! ;-)
 
 diff -ruN p5-Net-Server.orig/files/patch-Server.pm p5-Net-Server/files/patch-Server.pm
 --- p5-Net-Server.orig/files/patch-Server.pm	Thu Jan  1 01:00:00 1970
 +++ p5-Net-Server/files/patch-Server.pm	Wed Jan 25 08:21:13 2006
 @@ -0,0 +1,21 @@
 +diff -ruN lib/Net/Server.pm lib/Net/Server.pm
 +--- lib/Net/Server.pm	Mon Dec  5 22:13:04 2005
 ++++ lib/Net/Server.pm	Wed Jan 25 08:18:25 2006
 +@@ -133,6 +133,7 @@
 +   ### see if we can find the full command line
 +   if (open _CMDLINE, "/proc/$$/cmdline") { # unix specific
 +     my $line = do { local $/ = undef; <_CMDLINE> };
 ++    ($line) = $line =~ /^(.*)$/; # untaint
 +     close _CMDLINE;
 +     if ($line) {
 +       return [split /\0/, $line];
 +@@ -140,7 +141,8 @@
 +   }
 + 
 +   my $script = $0;
 +-  $script = $ENV{'PWD'} .'/'. $script if $script =~ m|^\.+/| && $ENV{'PWD'}; # add absolute to relative
 ++  $script = $ENV{'PWD'} .'/'. $script if $script !~ m|^\//| && $ENV{'PWD'}; # add absolute to relative
 ++  ($script) = $script =~ /^(.*)$/; # untaint
 +   return [ $script, @ARGV ]
 + }
 + 
 
 Lupe Christoph
 -- 
 | You know we're sitting on four million pounds of fuel, one nuclear     |
 | weapon and a thing that has 270,000 moving parts built by the lowest   |
 | bidder. Makes you feel good, doesn't it?                               |
 | Rockhound in "Armageddon", 1998, about the Space Shuttle               |



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601250730.k0P7U8o8046373>