CVE-2024-36963 in Linux
Riassunto
di VulDB • 16/06/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
tracefs: reimpostare i permessi in caso di rimontaggio se sono specificate le opzioni dei permessi
Esiste un'incongruenza nel modo in cui vengono gestiti i permessi in tracefs. Poiché i permessi vengono generati al momento dell'accesso, assumono per impostazione predefinita i permessi del inode radice (root inode) se non sono mai stati impostati dall'utente. Se l'impostazione dei permessi viene effettuata manualmente dall'utente, viene attivato un flag e i permessi vengono salvati tramite il file system object (inode) per i file di tracefs o attraverso un campo interno dell'attributo per eventfs.
Tuttavia, se avviene un rimontaggio che specifica esplicitamente i permessi, tutti i file non modificati dall'utente verranno aggiornati, mentre quelli già personalizzati no. Se l'amministratore dovesse rimontare il filesystem con una determinata configurazione dei permessi, allora tutti i file e le directory all'interno di tale filesystem dovrebbero essere aggiornati coerentemente.
Ciò può causare problemi di sicurezza se un amministratore ha modificato manualmente i permessi di alcuni file ma poi dimentica questa modifica: potrebbe erroneamente pensare che il rimontaggio con l'impostazione dei permessi aggiorni tutti i file, tralasciando invece quelli già personalizzati in precedenza.
Ad esempio:
# cd /sys/kernel/tracing # chgrp 1002 current_tracer # ls -l [..]
-rw-r----- 1 root root 0 May 1 21:25 buffer_size_kb -rw-r----- 1 root root 0 May 1 21:25 buffer_subbuf_size_kb -r--r----- 1 root root 0 May 1 21:25 buffer_total_size_kb -rw-r----- 1 root lkp 0 May 1 21:25 current_tracer -rw-r----- 1 root root 0 May 1 21:25 dynamic_events -r--r----- 1 root root 0 May 1 21:25 dyn_ftrace_total_info -r--r----- 1 root root 0 May 1 21:25 enabled_functions
Dove current_tracer ora appartiene al gruppo "lkp".
# mount -o remount,gid=1001 . # ls -l -rw-r----- 1 root tracing 0 May 1 21:25 buffer_size_kb -rw-r----- 1 root tracing 0 May 1 21:25 buffer_subbuf_size_kb -r--r----- 1 root tracing 0 May 1 21:25 buffer_total_size_kb -rw-r----- 1 root lkp 0 May 1 21:25 current_tracer -rw-r----- 1 root tracing 0 May 1 21:25 dynamic_events -r--r----- 1 root tracing 0 May 1 21:25 dyn_ftrace_total_info -r--r----- 1 root tracing 0 May 1 21:25 enabled_functions
Tutti i file sono cambiati tranne "current_tracer".
Viene aggiunta una nuova lista collegata (linked list) che tiene traccia di tutti gli inode tracefs dotati del flag dei permessi, il quale indica se un determinato file o directory deve utilizzare i permessi dell'inode radice oppure no. Successivamente, in fase di rimontaggio, vengono azzerati tutti questi flag affinché venga applicato il comportamento predefinito (ovvero l'utilizzo dei permessi dell'inode radice) per tutti i file e le directory presenti nel filesystem.
If you want to get best quality of vulnerability data, you may have to visit VulDB.