[devel] JFYI: kernel modules build on git.eter

Evgeny Sinelnikov sin на altlinux.ru
Пт Июл 22 20:22:34 UTC 2011


22 июля 2011 г. 23:56 пользователь Dmitry V. Levin <ldv at altlinux.org>написал:

> 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.
>
>
Я предлагаю их исключить при вычислении NVR всё лишнее. Примерно так:
$ grep -e '^[Nn]ame:.*' -e '^[Vv]ersion:.*' -e '^[Rr]elease:.*' -e
'^[Gg]roup:.*' -e '^[Ll]icense:.*' -e '^[Ss]ource:.*' -e '^[Ss]ummary:.*' -e
'^%define.*' -e '^%description.*' <girar.spec
%define tratata ng
Name: girar-%tratata
Version: 0.3
Release: alt1.eter38
Summary: git.eter server engine
License: GPL
Group: System/Servers
Source: %name-%version.tar
%define girar_group girar
%define girar_user girar
%define gb_group girar-builder
%define gb_user girar-builder
%define girar_keydir %_prefix/lib/%name-gpgkeys
%description


$ grep -e '^[Nn]ame:.*' -e '^[Vv]ersion:.*' -e '^[Rr]elease:.*' -e
'^[Gg]roup:.*' -e '^[Ll]icense:.*' -e '^[Ss]ource:.*' -e '^[Ss]ummary:.*' -e
'^%define.*' -e '^%description.*' <girar.spec >tst.spec

$ rpm -q --specfile tst.spec
girar-ng-0.3-alt1.eter38

Есть у этого варианта ограничения?


-- 
Sin (Sinelnikov Evgeny)
Etersoft
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20110723/b93c16eb/attachment-0001.html>


Подробная информация о списке рассылки Devel