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

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

    <bug>
          <bug_id>53830</bug_id>
          
          <creation_ts>2025-04-12 20:31:11 +0300</creation_ts>
          <short_desc>hardware-facing Xorg either escalates or is non-executable</short_desc>
          <delta_ts>2025-05-20 17:06:44 +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>xorg-server-control</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>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Arseny Maslennikov">arseny</reporter>
          <assigned_to name="Arseny Maslennikov">arseny</assigned_to>
          <cc>ldv</cc>
    
    <cc>shrek</cc>
    
    <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>262918</commentid>
    <comment_count>0</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2025-04-12 20:31:11 +0300</bug_when>
    <thetext># grep fmode /etc/control.d/facilities/xorg-server
  new_fmode public 4711 root root
  new_fmode xgrp 4710 root xgrp
  new_fmode restricted 700 root root
  control_fmode &quot;$BINARY&quot; &quot;$*&quot; || exit 1

Я относительно недавно узнал, что у нас нет механизмов запуска rootless Xorg. Т. е. нужно либо быть рутом (но как сброситься потом?), либо он суидный; варианта `711 root root` нет.

Если не убирать суид, то в пустом $HOME (без skel-контента) кто-то создаёт `.cache/` с правами 700 root, чтобы положить туда `mesa_shader_cache*`. Если убрать, то владелец у `.cache` правильный.

(только адептам церкви anti-sudo не рассказывайте!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262919</commentid>
    <comment_count>1</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2025-04-12 20:32:00 +0300</bug_when>
    <thetext>(In reply to Arseny Maslennikov from comment #0)
&gt; Если не убирать суид, то в пустом $HOME (без skel-контента) кто-то создаёт
&gt; `.cache/` с правами 700 root, чтобы положить туда `mesa_shader_cache*`.
https://gitlab.freedesktop.org/mesa/mesa/-/blob/9d359c6d10adb1cd2978a0e13714a3f98544aae8/src/util/disk_cache_os.c#L897</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262920</commentid>
    <comment_count>2</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2025-04-12 20:36:35 +0300</bug_when>
    <thetext>В нынешние времена же всё, для чего иксам были нужны привилегии рута, либо управляется seatd/logind, либо вынесено в ядерные модули. По идее, suid bit на Xorg не нужен вообще.

Вариант решения:
https://git.altlinux.org/tasks/381211/

Может быть, имеет смысл не 711 root root, а 710 root xgrp. Или оба. Нужен инпут от специалистов по графонию.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265228</commentid>
    <comment_count>3</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2025-05-20 17:06:44 +0300</bug_when>
    <thetext>https://git.altlinux.org/tasks/381211/logs/events.4.1.log
Бежит в сизиф.
#300 xorg-server-control 1.3-alt1 -&gt; 1.4-alt1
 Thu Apr 10 2025 Arseny Maslennikov &lt;arseny@altlinux&gt; 1.4-alt1
 - Introduced unprivileged (a.k.a. rootless) mode for X servers.
   In this mode, just like in restricted mode, X servers have no way
   to gain root privileges, but can be executed by any user.
   Rootless mode makes sense in a KMS/DRM environment.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>