Il comitato tecnico, che prende decisioni finali riguardo a questioni tecniche controverse nel progetto Debian, ha approvato la modifica del pacchetto systemd, che cambia il comportamento nella gestione della directory /var/lock. A partire dalla versione 258, il gestore di sistema systemd ha limitato la scrittura nella directory /var/lock esclusivamente agli utenti con diritti di root, mentre il comitato tecnico di Debian ha approvato il mantenimento del vecchio comportamento, che consente la scrittura in /var/lock a qualsiasi utente.
Le regole del progetto Debian prevedono il mantenimento del comportamento originale delle applicazioni (impostazioni fornite in upstream) durante la creazione dei pacchetti. Per apportare modifiche specifiche per Debian ai pacchetti, eludendo le regole del progetto, è necessario ottenere una speciale autorizzazione dal comitato tecnico.
Nel caso di systemd, il comitato ha sostenuto la proposta di non seguire la modifica che cambia i diritti di accesso a /var/lock al fine di aumentare la sicurezza, poiché la possibilità di scrittura pubblica nella directory /var/lock è menzionata nella specifica FHS (Filesystem Hierarchy Standard) ed è necessaria per continuare a far funzionare alcuni programmi esistenti. Ad esempio, le applicazioni per la gestione di porte seriali, come uucp, minicom, mgetty+sendfax e hylafax, utilizzano la directory /var/lock per dividere l'accesso ai dispositivi /dev/ttyS* attraverso la creazione di file di blocco.
La necessità di limitare l'accesso alla directory /var/lock è spiegata dagli sviluppatori di systemd come una protezione contro gli attacchi DoS. La directory /var/lock è un collegamento simbolico alla directory /run/lock. La partizione con la directory /run viene solitamente montata separatamente tramite tmpfs e la possibilità di scrittura incontrollata può essere utilizzata per saturare la partizione e impedire la creazione di nuovi file nella gerarchia /run.
Per prevenire attacchi simili in presenza di accesso illimitato, in precedenza in Debian è stata utilizzata una patch che montava /run/lock in una piccola partizione tmpfs separata. Lo scorso anno, questa patch è stata sostituita dall'unità run-lock.mount, e quest'estate quest'unità è stata rimossa, dopo di che /run/lock si è trovato nella partizione /run. Nei commenti alla decisione del comitato tecnico, l'ex manutentore di systemd ha raccomandato di non dimenticare la modifica menzionata e di tornare a un montaggio separato di /run/lock, e a lungo termine di migrare tutte le applicazioni legate a /run/lock su blocchi utilizzando il meccanismo flock.
Fonte: opennet.ru
