Casa > cibernético Notícias > CVE-2018-8781: 8-Bug descoberto no kernel do Linux há um ano
CYBER NEWS

CVE-2018-8781: 8-Bug descoberto no kernel do Linux há um ano

Pesquisadores da Check Point decidiram recentemente revisar o kernel do Linux, e, mais especificamente, eles analisaram os drivers que tentavam fazer seu próprio uso do mmap() função.

CVE-2018-8781 Oficial Descrição:

A função udl_fb_mmap em drivers / gpu / drm / udl / udl_fb.c na versão do kernel do Linux 3.4 e até e incluindo 4.15 tem uma vulnerabilidade de estouro de número inteiro, permitindo que usuários locais com acesso ao driver udldrmfb obtenham permissões completas de leitura e gravação nas páginas físicas do kernel, resultando em uma execução de código no espaço do kernel.

Como o CVE-2018-8781 foi descoberto?

A ideia de reimplementar as funções do kernel provavelmente levará a erros devido ao fato de que menos equipe de QA nas organizações analisa seu código e corrige problemas de segurança como parte de seu processo, os pesquisadores explicaram.

Story relacionado: Topo 15 Questões de Segurança Linux Você não sabia que você tinha

Revendo isto, eles descobriram e divulgaram uma série de problemas e um bug específico que é na verdade uma vulnerabilidade de oito anos em um driver. O bug pode ser usado para aumentar os privilégios nas versões do kernel 3.4 e até e incluindo 4.15.

Este bug específico é identificado como CVE-2018-8781, e isso afeta o mmap interno() função definida nas operações de arquivo fb_helper do driver udl de DisplayLink:

O módulo video / drm no kernel define um mmap padrão() wrapper que chama aquele mmap real() manipulador definido pelo driver específico. No nosso caso, a vulnerabilidade está no mmap interno() definido nas operações do arquivo fb_helper do driver “udl” do “DisplayLink”.

Este é um exemplo clássico de um estouro de número inteiro, Check Point clarificado. O que é um estouro de inteiro? Ocorre um estouro de inteiro quando uma operação aritmética tenta criar um valor numérico que está fora do intervalo que pode ser representado por um determinado número de bits.

Uma vez que o deslocamento não está assinado, o programador ignorou a verificação #1 e fui diretamente verificar #2. Contudo, o cálculo “compensar + tamanho ”poderia ser reduzido para um valor baixo, permitindo-nos contornar a verificação e ainda usar um valor de “deslocamento” ilegal.


Como o CVE-2018-8781 foi verificado?
Para fazê-lo, os pesquisadores usaram uma máquina virtual Ubuntu de 64 bits, e carregou um driver vulnerável simulado. Em cada teste, o mmap do driver() manipulador continha a implementação que eles pretendiam verificar. Uma análise posterior revelou que o usuário pode ler e escrever de / para as páginas mapeadas, permitindo que um invasor acione a execução de código no espaço do kernel.

Story relacionado: 14 Falhas encontradas no subsistema Linux Kernel USB (CVE-2017-16525)

Mais detalhes sobre CVE-2018-8781 e como abordá-lo são acessível.

Milena Dimitrova

Um escritor inspirado e gerente de conteúdo que está com SensorsTechForum desde o início do projeto. Um profissional com 10+ anos de experiência na criação de conteúdo envolvente. Focada na privacidade do usuário e desenvolvimento de malware, ela acredita fortemente em um mundo onde a segurança cibernética desempenha um papel central. Se o senso comum não faz sentido, ela vai estar lá para tomar notas. Essas notas podem mais tarde se transformar em artigos! Siga Milena @Milenyim

mais Posts

Me siga:
Twitter

Deixe um comentário

seu endereço de e-mail não será publicado. Campos obrigatórios são marcados *

This website uses cookies to improve user experience. By using our website you consent to all cookies in accordance with our Política de Privacidade.
Concordo