On Fri, Jul 22, 2011 at 11:31:59PM +0400, Evgeny Sinelnikov wrote: > 22 июля 2011 г. 23:17 пользователь Dmitry V. Levin написал: > > On Fri, Jul 22, 2011 at 08:47:17PM +0300, Igor Vlasenko wrote: > > > On Fri, Jul 22, 2011 at 01:07:02AM +0400, Dmitry V. Levin wrote: > > > > On Fri, Jul 22, 2011 at 12:58:09AM +0400, Денис Смирнов wrote: > > > > > DVL> Там используется subst_module_spec(), скопированный из > > kernel-build-sh-functions. > > > > > DVL> Надеюсь, вы помните, что там есть вызов утилиты add_changelog, > > который равносилен > > > > > DVL> исполнению произвольного кода на сервере? > > > > > > можно заменить add_changelog на равносильный вызов > > > $ srpmnmu -i --next-release-policy=none --changelog '- some text' > > /path/to.spec > > > у которого реализация add_changelog чисто перловая. > > > > Насколько надежно в таком случае srpmnmu может вычислить > > '%|serial?{%{serial}:}|%{version}-%{release}' > > используемый для формирования %changelog'а? > > > У меня используется свой вариант girar-stamp-spec, но проблема там та же. > Возможность вероятного трояна, если я правильно понял, состоит в том, что в > сборочных секциях может быть, по сути, любой скрипт, а соответственно и код. В любой части спекфайла может встретиться вычисление выражения, которое приведет к исполнению произвольного shell-кода при запуске rpm --specfile. -- ldv