Technický výbor, který přijímá konečné rozhodnutí ohledně sporných technických otázkách v projektu Debian, schválil změnu v balíčku systemd, která mění chování při práci s adresářem /var/lock. Systémový správce systemd od verze 258 omezil možnost zápisu do adresáře /var/lock pouze na uživatele s právy root, zatímco technický výbor Debian schválil zachování starého chování, které povoluje zápis do /var/lock všem uživatelům.
Pravidla projektu Debian předpisují zachování původního chování aplikací (nastavení nastavených v upstream) při sestavování balíčků. Pro provedení specifických změn pro Debian v balíčkách, které obcházejí pravidla projektu, je nutné získat zvláštní povolení od technického výboru.
V případě systemd výbor podpořil návrh neřídit se změnou, která mění práva přístupu k /var/lock s cílem zvýšit bezpečnost, protože možnost veřejného zápisu do adresáře /var/lock je uvedena ve specifikaci FHS (Filesystem Hierarchy Standard) a je nezbytná pro pokračování práce některých existujících programů. Například aplikace pro práci s sériovými porty, jako jsou uucp, minicom, mgetty+sendfax a hylafax, používají adresář /var/lock pro oddělení přístupu k zařízením /dev/ttyS* vytvářením blokovacích souborů.
Potřeba omezení přístupu k adresáři /var/lock je vysvětlena vývojáři systemd jako ochrana proti DoS útokům. Adresář /var/lock je symbolickým odkazem na adresář /run/lock. Oddíl s adresářem /run se obvykle montuje odděleně přes tmpfs a možnost nekontrolovaného zápisu do něj může být využita k přetečení oddílu a zablokování vytvoření nových souborů v hierarchii /run.
Aby se vyloučilo provádění podobných útoků při neomezeném přístupu, byl dříve v Debiánu použit patch, který připojil /run/lock do samostatné malé tmpfs části. V loňském roce byl tento patch nahrazen jednotkou run-lock.mount, a toto léto byla tato jednotka odstraněna, což vedlo k tomu, že /run/lock se ocitl v části /run. V komentářích k rozhodnutí technického výboru bývalý údržbář systemd doporučil nezapomínat na uvedenou změnu a vrátit se k samostatnému připojení /run/lock, a v dlouhodobém horizontu převést všechny aplikace, které závisí na /run/lock, na blokace pomocí mechanismu flock.
Zdroj: opennet.ru
