For the English version of this alert, click here.
Allele Security Alert
ASA-2019-00420
Identificador(es)
ASA-2019-00420, CVE-2019-13233
Título
Use-after-free via race condition entre modify_ldt() e exceção #BR
Fabricante(s)
Linux foundation
Produto(s)
Linux kernel
Versão(ões) afetada(s)
Linux kernel versões desde 4.15
Linux kernel versões com o seguinte commit aplicado:
x86/insn-eval: Add utility function to get segment descriptor
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=670f928ba09b
Versão(ões) corrigida(s)
Linux kernel versão 5.1.9
Linux kernel versões com o seguinte commit aplicado:
x86/insn-eval: Fix use-after-free access to LDT entry
https://github.com/torvalds/linux/commit/de9f869616dd95e95c00bdd6b0fcd3421e8a4323
Prova de conceito
Sim
Descrição
Há um use-after-free para acesso a uma entrada da LDT devido a uma race condition entre modify_ldt() e uma exceção #BR para uma violação de limites MPX.
Detalhes técnicos
Quando uma exceção #BR é acionada devido a uma violação de limites MPX, o Linux analisa a instrução com falha e calcula o endereço linear de seu operando de memória. Se a instrução do espaço de usuário estiver no código de 32 bits, isso envolve procurar o descritor de segmento correto e incluir o offset do segmento no endereço.
get_desc() bloqueia o contexto mm, calcula o ponteiro para a entrada LDT, mas depois libera o lock novamente e retorna o ponteiro. Isso significa que quando o chamador acessa o ponteiro, o ponteiro já pode ter sido liberado.
Créditos
Jann Horn (Google Project Zero)
Referência(s)
Issue 1879: Linux: UAF via race between modify_ldt() and #BR exception
https://bugs.chromium.org/p/project-zero/issues/detail?id=1879
x86/insn-eval: Fix use-after-free access to LDT entry
https://github.com/torvalds/linux/commit/de9f869616dd95e95c00bdd6b0fcd3421e8a4323
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=670f928ba09b
ChangeLog-5.1.9
https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.1.9
CVE-2019-13233
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13233
CVE-2019-13233
https://nvd.nist.gov/vuln/detail/CVE-2019-13233
Se encontrou algum erro neste alerta ou deseja uma análise compreensiva, entre em contato.
Última modificação: 15 julho 2019