È stata dimostrata la possibilità di eludere il divieto di caricamento dei moduli del kernel, implementato nelle regole targeted di SELinux su uno dei dispositivi esaminati (non viene specificato di quale dispositivo si tratti e quanto il problema riguardi le regole SELinux nei firmware e nelle distribuzioni). Il blocco dei moduli nelle regole SELinux utilizzate si basava sulla limitazione dell'accesso alla chiamata di sistema finit_module, che consente di caricare un modulo da un file e viene utilizzata in utility come insmod. Tuttavia, le regole SELinux non prendevano in considerazione la chiamata di sistema init_module, che può anche essere utilizzata per caricare moduli del kernel direttamente dal buffer in memoria.
Per dimostrare il metodo è stato preparato un prototipo di exploit che consente di eseguire codice a livello di kernel tramite il caricamento del proprio modulo e disabilitare completamente la protezione SELinux, in presenza di un accesso root limitato tramite SELinux al sistema.
Fonte: opennet.ru
