Quais são as maneiras no Linux para o usuário não-root acionar o carregamento do módulo do kernel?

4

Uma maneira é criar um socket de escuta para algum protocolo, e o módulo para esse protocolo será carregado. Por exemplo, DCCP e SCTP.

Existem outras maneiras?

UPD : caso de uso: máquina virtual em algum lugar no AWS / Azure / ... Um invasor obteve um shell de usuário sem privilégios. Nenhuma alteração de hardware pode ser feita por uso não privilegiado. Existe uma vulnerabilidade de escalonamento de privilégios locais no módulo do kernel que não está carregado agora. Como ele pode carregar este módulo para usá-lo?

Pergunta inspirada por recente vulnerabilidade no módulo do kernel do protocolo DCCP.

UPD2 : De acordo com o CVE-2017-2636, é possível carregar o módulo% kerneln_hdlc apenas "ativando o HDLC para o dispositivo tty" ( artigo russo sobre o CVE-2017-2636 . Então, existem outras maneiras, mas ninguém com este conhecimento sagrado estava interessado na questão: (

    
por Selivanov Pavel 27.02.2017 / 11:48

1 resposta

5

Muitos drivers do sistema de arquivos são implementados como módulos do kernel e serão carregados sob demanda, seja por causa de montagens de usuários ou pelo daemon do automount.

Além disso, há uma gama completa de dispositivos hot-plug, onde conectá-los resultará no carregamento do kernel do módulo do kernel necessário para gerenciá-los, com periféricos USB, uma subcategoria muito grande,

    
por 28.02.2017 / 20:03