ASA-2018-00014 – Linux kernel: Limpeza de TLB acontece tarde na chamada de sistema mremap()


For the English version of this alert, click here.

Allele Security Alert

ASA-2018-00014

Identificador(es)

ASA-2018-00014, CVE-2018-18281

Título

Limpeza de TLB acontece tarde na chamada de sistema mremap()

Produto(s)

Linux kernel

Versão(ões) afetada(s)

Linux kernel >= 3.2 < 4.9.135, 4.14.78, 4.18.16, 4.19

Versão(ões) corrigida(s)

Linux kernel 4.9.135

Linux kernel 4.14.78

Linux kernel 4.18.16

Linux kernel 4.19

Prova de conceito

Sim

Descrição

Desde o kernel do Linux versão 3.2, a chamada de sistema mremap() realiza limpeza da TLB depois de liberar o bloqueio da tabela de páginas. Se uma chamada de sistema como ftruncate() remover entradas da tabela de página da tarefa que está no meio da execução de mremap(), criará uma entrada obsoleta na TLB por um breve período de tempo que permite acesso a página física depois que ela tenha sido liberada de volta para o alocador de páginas e reusada.

Referência(s)

Linux: mremap() TLB flush too late with concurrent ftruncate()
https://bugs.chromium.org/p/project-zero/issues/detail?id=1695

Linux kernel: TLB flush happens too late on mremap (CVE-2018-18281; fixed in 4.9.135, 4.14.78, 4.18.16, 4.19)
https://seclists.org/oss-sec/2018/q4/108

mremap: properly flush TLB before releasing the page
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=eb66ae030829605d61fbef1909ce310e29f78821

CVE-2018-18281
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-18281

CVE-2018-18281
https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2018-18281


Se encontrou algum erro neste alerta ou deseja uma análise compreensiva, entre em contato.

Última modificação: 7 de novembro de 2018