<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>5969</bug_id>
          
          <creation_ts>2005-01-26 15:21:24 +0300</creation_ts>
          <short_desc>[6.0] Доступ на чтение/выполнение к /lib/modules/</short_desc>
          <delta_ts>2018-09-13 19:16:13 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>filesystem</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>9199</blocked>
    
    <blocked>17728</blocked>
    
    <blocked>30940</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Anton Farygin">rider</reporter>
          <assigned_to name="placeholder@altlinux.org">placeholder</assigned_to>
          <cc>aen</cc>
    
    <cc>dd1email</cc>
    
    <cc>eostapets</cc>
    
    <cc>evg</cc>
    
    <cc>glebfm</cc>
    
    <cc>ldv</cc>
    
    <cc>legion</cc>
    
    <cc>mike</cc>
    
    <cc>placeholder</cc>
    
    <cc>real.altlinux.org</cc>
    
    <cc>rider</cc>
    
    <cc>shaba</cc>
    
    <cc>snejok</cc>
    
    <cc>solo</cc>
    
    <cc>sr</cc>
    
    <cc>vsu</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>21385</commentid>
    <comment_count>0</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2005-01-26 15:21:24 +0300</bug_when>
    <thetext>Ядро 2.6 имеет свойство хранить симлинк на сборочную среду для ядра в
/lib/modules/*/build

Соответственно для сборки сторонних модулей под пользователем необходимо дать
возможность пользователю заходить в этот каталог.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21386</commentid>
    <comment_count>1</comment_count>
    <who name="Sergey Vlasov">vsu</who>
    <bug_when>2005-01-26 15:57:37 +0300</bug_when>
    <thetext>Наличие у пользователя доступа даже на чтение к файлам модулей ядра даёт
возможность заблокировать выполнение insmod или modprobe, установив на эти файлы
блокировку через flock() (для modutils) или fcntl() (для module-init-tools). Нам
это нужно?

Как вариант, можно открыть доступ к /lib/modules, но при сборке пакетов с
модулями устанавливать более жёсткие права для самих файлов модулей (сейчас там
644,root,root).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21387</commentid>
    <comment_count>2</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2005-01-26 16:02:24 +0300</bug_when>
    <thetext>И это, кстати, тоже верно. Для них вполне нормально делать 600
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21557</commentid>
    <comment_count>3</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2005-02-02 22:10:57 +0300</bug_when>
    <thetext>Ну так как, исправим ?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21565</commentid>
    <comment_count>4</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2005-02-03 01:26:35 +0300</bug_when>
    <thetext>Нельзя давать локальным пользователям возможности сделать DoS.

Если необходимо открыть каталог /lib/modules, то придётся придумать способ
защитить системы, работающие с теми ядрами, которые уже собраны в предположении,
что каталог /lib/modules закрыт.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21566</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2005-02-03 09:47:22 +0300</bug_when>
    <thetext>(In reply to comment #4)
&gt; Нельзя давать локальным пользователям возможности сделать DoS.

У них практически всегда остаётся старая добрая форк-бомба...

А такому filesystem можно расставить Conflicts: или принудительную смену прав на
низлежаще каталоги?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21569</commentid>
    <comment_count>6</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2005-02-03 11:18:44 +0300</bug_when>
    <thetext>Да, а может быть действительно в post-script&apos;ах проводить разборки с тем, что
ниже /lib/modules/ ?

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26117</commentid>
    <comment_count>7</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2005-06-20 18:55:58 +0400</bug_when>
    <thetext>ну что, так и оставим ? Может к 3.0 исправим ?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47195</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2007-03-26 14:13:15 +0400</bug_when>
    <thetext>Или к 4.0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59188</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2007-12-08 14:33:42 +0300</bug_when>
    <thetext>http://lists.altlinux.org/pipermail/sisyphus/2005-February/156318.html :

&gt; &gt; &gt;&gt;Именно доступ обычного пользователя в /lib/modules/ и надо исправлять.
&gt; &gt; &gt;Кстати, а с /boot что-то делать (в идеале control(8), но Дима
&gt; &gt; &gt;упоминал грабли) получается? А то для простых консультаций
&gt; &gt; &gt;требуется отнюдь не the least privilege...
&gt; &gt; А ты багу повесь, обсудим.
&gt; 
&gt; А в ту же осмысленно? Подумал и решил сперва сюда, бо уже не
&gt; помню, что именно мешало control-изации (склерозм -- штука
&gt; страшная, что /обсуждалось/ -- помнишь, а вот /как/...).

Мешало control-изации то, что называется проблемой &quot;яйцо или курица&quot;:
у пакета filesystem не должно быть %pre-скрипта, но для control-изации
нужен %pre-скрипт.

&gt; &gt; Зачем это делал Дима в свое время, я думаю и уже он не помнит
&gt; &gt; ;-)
&gt; 
&gt; Я так не думаю (c)

1. Доступ к файлам /boot/{System.map,vmlinuz}-`uname -r` даёт возможность
узнать адреса объектов ядра, что облегчает атаку на ядро.

2. Конфигурация grub&apos;а хранится в /boot, и я помню, что раньше были
проблемы в поддержании правильных прав доступа к ней.

-- 
ldv

http://lists.altlinux.org/pipermail/sisyphus/2005-February/156328.html :

Меня назовут извращенцем, но можно попробовать сделать финт ушами
-- побить filesystem на filesystem, filesystem-control и
filesystem-lsb, в последний унеся нелюбимые многими /srv и
компанию, а из первого во второй перенеся по крайней мере те
каталоги, которые хорошо бы control&apos;ировать, _но_ без которых
можно поставить достаточно системы для отработки %pre.

Загвоздкой являются ядро и grub, но ведь их никто не требует 
(из этого &quot;достаточно&quot;, по крайней мере)?

-- 
mike</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122039</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2011-06-09 01:39:17 +0400</bug_when>
    <thetext>Или к 6.0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142147</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2013-08-15 17:26:03 +0400</bug_when>
    <thetext>Никто так и не предложил proof of concept регулятора.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142157</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2013-08-15 17:51:25 +0400</bug_when>
    <thetext>(В ответ на комментарий №11)
&gt; Никто так и не предложил proof of concept регулятора.

Что значит &quot;proof of concept регулятора&quot; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142212</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2013-08-15 21:34:53 +0400</bug_when>
    <thetext>Набросок ручки для переключения поведения.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150311</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2015-02-16 20:41:27 +0300</bug_when>
    <thetext>---
&gt; Времена меняются и modutils и module-init-tools у нас не используются.
&gt; Сейчас модули грузятся libkmod, которая не использует fcntl.

Да, libkmod не занимается блокировкой файлов модулей, там все просто:
	open O_RDONLY
	mmap PROT_READ MAP_PRIVATE
	finit_module
(с разновидностями вида gzdopen/gzread с последующим init_module,
если поддерживаются сжатые модули).

В ушедшем module-init-tools тоже на авось:
	open O_RDONLY
	read в цикле
	init_module

&gt; Я думаю, что описанная в баге проблема должна быть обсуждена ещё раз.

Давайте обсудим.  Очевидно, что потенциальный DoS путем блокировки файла
модуля сейчас уже не реализуем.

-- 
ldv
--- http://lists.altlinux.org/pipermail/devel/2014-November/199266.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157961</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2016-08-04 17:04:02 +0300</bug_when>
    <thetext>ping
    finit_module
(с разновидностями вида gzdopen/gzread с последующим init_module,
если поддерживаются сжатые модули).

В ушедшем module-init-tools тоже на авось:
    open O_RDONLY
    read в цикле
    init_module

&gt; Я думаю, что описанная в баге проблема должна быть обсуждена ещё раз.

Давайте обсудим.  Очевидно, что потенциальный DoS путем блокировки файла
модуля сейчас уже не реализуем.

-- 
ldv
--- http://lists.altlinux.org/pipermail/devel/2014-November/199266.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157962</commentid>
    <comment_count>16</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2016-08-04 17:05:17 +0300</bug_when>
    <thetext>извините, мышка дёрнулась. но всё равно ping.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165308</commentid>
    <comment_count>17</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2017-08-17 13:16:29 +0300</bug_when>
    <thetext>Дима, опять эта проблема вылезла со сборкой модулей ядра для vmware.

давайте уже это исправим.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165309</commentid>
    <comment_count>18</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2017-08-17 13:40:45 +0300</bug_when>
    <thetext>http://git.altlinux.org/tasks/187197/logs/events.1.1.log

жду approve</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165310</commentid>
    <comment_count>19</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2017-08-17 14:15:00 +0300</bug_when>
    <thetext>(In reply to comment #17)
&gt; Дима, опять эта проблема вылезла со сборкой модулей ядра для vmware.

А что им там нужно? Ссылка /lib/modules/%kversion-%flavour-%krelease/build?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165311</commentid>
    <comment_count>20</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2017-08-17 14:16:14 +0300</bug_when>
    <thetext>они планируют найти в /lib/modules/`uname -r`/build хедеры для сборки модулей для текущего ядра.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167810</commentid>
    <comment_count>21</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2017-12-11 08:05:34 +0300</bug_when>
    <thetext>Дим, не пора ли уже открыть доступ к /lib/modules ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169395</commentid>
    <comment_count>22</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2018-03-04 03:04:14 +0300</bug_when>
    <thetext>(In reply to comment #21)
&gt; Дим, не пора ли уже открыть доступ к /lib/modules ?

Думаю что в Сизифе уже пора: все ядра уже достаточно давно были пересбораны.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169403</commentid>
    <comment_count>23</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2018-03-04 11:15:47 +0300</bug_when>
    <thetext>Целиком поддерживаю. Сделаешь ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173410</commentid>
    <comment_count>24</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2018-08-16 20:59:56 +0300</bug_when>
    <thetext>Ну так что, мне отправить новый filesystem в Sisyphus ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173656</commentid>
    <comment_count>25</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2018-08-29 00:12:29 +0300</bug_when>
    <thetext>filesystem-2.3.17-alt1 -&gt; sisyphus:

Tue Aug 28 2018 Dmitry V. Levin &lt;ldv@altlinux&gt; 2.3.17-alt1
- Moved /etc/syslog.d from syslog-common to filesystem.
- Made /lib/modules readable and executable by everybody (closes: #5969).
- Added libx32 directories on x86_64 and x32 systems (by Ivan Zakharyaschev).
- Added lib32 directories on %e2k (thx Ivan Zakharyaschev).
- Added %ghost /run/lock/, marked /var/lock/ and /var/lock/* as %ghost (by Alexey Shabalin).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173658</commentid>
    <comment_count>26</comment_count>
    <who name="AEN">aen</who>
    <bug_when>2018-08-29 01:30:25 +0300</bug_when>
    <thetext>Ура!
13 с половиной лет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173813</commentid>
    <comment_count>27</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2018-09-01 12:13:04 +0300</bug_when>
    <thetext>Да уж, достижение... ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174043</commentid>
    <comment_count>28</comment_count>
    <who name="Lenar Shakirov">snejok</who>
    <bug_when>2018-09-11 17:22:28 +0300</bug_when>
    <thetext>Простите, у меня два вопроса:


(В ответ на комментарий №25)
...
&gt; - Made /lib/modules readable and executable by everybody (closes: #5969).
...

2ldv: вы не против бэкпорта в p8?



(В ответ на комментарий №22)
&gt; (In reply to comment #21)
&gt; &gt; Дим, не пора ли уже открыть доступ к /lib/modules ?
&gt; 
&gt; Думаю что в Сизифе уже пора: все ядра уже достаточно давно были пересбораны.

2all: Может стоит удалить эти ядра из p8?

# rpm -qp --lastchange altrepos/p8/branch/x86_64/RPMS.classic/kernel-image-el7-def-3.10.0-alt9.x86_64.rpm | head -n1
* Ср июн 25 2014 Led &lt;led@altlinux.ru&gt; 3.10.0-alt9

# rpm -qp --lastchange altrepos/p8/branch/x86_64/RPMS.classic/kernel-image-el-def-2.6.32-alt25.x86_64.rpm | head -n1
* Пт июн 20 2014 Led &lt;led@altlinux.ru&gt; 2.6.32-alt25</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174099</commentid>
    <comment_count>29</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2018-09-13 19:14:17 +0300</bug_when>
    <thetext>(В ответ на комментарий №28)
&gt; Простите, у меня два вопроса:
&gt; (В ответ на комментарий №25)
&gt; &gt; - Made /lib/modules readable and executable by everybody (closes: #5969).
&gt; 2ldv: вы не против бэкпорта в p8?

Если syslog сломается ещё и в p8 -- это будет финиш.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174101</commentid>
    <comment_count>30</comment_count>
    <who name="Lenar Shakirov">snejok</who>
    <bug_when>2018-09-13 19:16:13 +0300</bug_when>
    <thetext>(В ответ на комментарий №29)
...
&gt; Если syslog сломается ещё и в p8 -- это будет финиш.

Не не, хочу бэкпортнуть только 755 на /lib/modules, остальное мне не интересно :-)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>