[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: rsync over ssh



On 2011.12.05 at 14:34:16 +0400, Evgeny Kapun wrote:

> > Первая реакция: #!/usr/bin/perl без -T в чем-то security-related?
> > А-А-А!!  бежать скорее отсюда!
> > 
> > Но надо будет повнимательнее почитать, это -T туда дописать и вообще.
> > В любом случае это лучше нижепоскипанного скрипта.
> 
> Ключ -T нужен, чтобы уменьшить вероятность security-багов ценой того,
> что некоторые вещи перестанут работать. Наличие этого ключа
> автоматически не сделает программу безопасной, так же как и отсутствие
> не сделает её дырявой. В данном конкретном случае этот скрипт не
> заработает с -T, поскольку он не рассчитан на это. Если автор не
> написал -T, значит, видимо, так и надо. В конце концов, в других

При беглом просмотре текста скрипта не видно, с чего бы ему не
работать с -T. Весь ввод из environment  все равно старательно
пропускается через регекспы. 

Значит, если где-то не заработает, скорее всего это действительно
неаккуратное обращение с untrusted вводом.

Кстати, use warnings  там тоже не видать. Из чего следует что для автора
Perl язык не родной. Человек, который много писал на Perl вещей, имеющих
отношение к security обычно -wT пишет на автомате, и только потом
задумывается, "а может убрать?" если сильно мешает. Здесь - не должно
мешать.

Тем более списковым exec автор вполне владеет.

Поэтому пока план такой - добавить -wT, добиться чтобы в таком виде
работало, и пользоваться.

> языках нет аналогичной возможности, но это же не делает все программы
> на них автоматически уязвимыми.

То что в языке есть такая возможность, а автор ее не использует,
свидетельствует о том, что либо автор плохо знает язык, либо вообще
небрежно относится к этому скрипту. И то, и другое повышает вероятность
уязвимости.


Reply to: