Vulnerabilidade na implementación do socket AF_PACKET do núcleo Linux

Tres anos despois da onda de vulnerabilidades (1, 2, 3, 4, 5) no subsistema AF_PACKET do núcleo de Linux identificado un problema máis (CVE-2020-14386), permitindo a un usuario local sen privilexios executar código como root ou saír de contedores illados se ten acceso root.

Crear un socket AF_PACKET e explotar a vulnerabilidade require privilexios CAP_NET_RAW. Non obstante, un usuario sen privilexios pode obter o permiso especificado en contedores creados en sistemas con compatibilidade con espazos de nomes de usuario activado. Por exemplo, os espazos de nomes de usuario están activados por defecto en Ubuntu e Fedora, pero non en Debian e RHEL. En Android, o proceso mediaserver ten dereito a crear sockets AF_PACKET, a través dos cales se pode explotar a vulnerabilidade.

A vulnerabilidade está presente na función tpacket_rcv e é causada por un erro ao calcular a variable netoff. Un atacante pode crear condicións nas que a variable netoff se escribe cun valor inferior ao da variable maclen, o que provocará un desbordamento ao calcular "macoff = netoff - maclen" e, posteriormente, establecer incorrectamente o punteiro ao búfer para os datos entrantes. Como resultado, un atacante pode iniciar a escritura de 1 a 10 bytes nunha área máis aló do límite do búfer asignado. Nótase que está en desenvolvemento un exploit que lle permite obter dereitos de root no sistema.

O problema está presente no núcleo desde xullo de 2008, é dicir. maniféstase en todos os núcleos reais. A corrección está dispoñible actualmente como parche. Podes seguir a dispoñibilidade das actualizacións de paquetes nas distribucións nas seguintes páxinas: Ubuntu, Fedora, SUSE, Debian, RHEL, Arco.

Fonte: opennet.ru

Engadir un comentario