Suidperl, fce open

Zdenek Lukes zdenek.lukes na savvy.cz
Pondělí Srpen 12 19:38:20 MEST 2002


On Po, 2002-08-12 at 17:56, Honza Pazdziora wrote:
> On Mon, Aug 12, 2002 at 03:34:00PM +0200, Bc. Zdenek LUKES wrote:
> > Mam takovy problem, delam aplikaci, ktera potrebuje zapisovat urcitedata
> > pod urcitym uzivatelem, k tomu vyuzivam suidperl. Vse mi funguje az na
> > vytvareni novych souboru pres fci open.
> > 
> > pokud to spustim tak to hodi hlasku:
> > Insecure dependency in open while running setuid at ./email-sprava.cgi
> > line 287.
> 
> Ukazte kod. Neni to tak, ze ta promenna, jejiz obsah pouzivate jako
> jmeno toho souboru, je taint, tedy pochazi z neduveryhodneho zdroje?

Posilam zkraceny kod fce:

sub NewAliases {
  my ($cesta) = @_;
  my ($error) = 0;
  my ($email_name, $aliases_name, $aliases, $soubor);
  $aliases_name = param('EMAIL');
  $soubor_name = param('ALIAS');  
  $soubor2 = "$cesta/.qmail-$soubor_name";

  open (ALIAS2, ">$soubor2") or $error = 20;
   flock (ALIAS2, 2) or $error = 20;
   print ALIAS2 "$aliases\n";
  flock (ALIAS2, 8);
  close (ALIAS2);
}

p.s. parametr cesta se predava fci a do soubor2 se sklada
cesta+nazevsouboru. Kdyz obsem udelam promenou $soubor2 a napisu primo
do ni cestu tak to projde. Problem asi bude s neduverihodnem zdroji, ale
nevim jak bych to presne obesel.

Lukin



Další informace o konferenci Perl