ASA-2018-00091 – Linux: Use-after-free() em svc_process_common()


For the English version of this alert, click here.

Allele Security Alert

ASA-2018-00091

Identificador(es)

ASA-2018-00091, CVE-2018-16884

Título

Use-after-free em svc_process_common()

Fabricante(s)

Linux foundation

Produto(s)

Linux

Versão(ões) afetada(s)

Desconhecida

Versão(ões) corrigida(s)

Desconhecida

Prova de conceito

Desconhecida

Descrição

Uma falha foi encontrada no kernel do Linux no subsistema NFS4. Compartilhamentos NFS41+ em namespaces de rede diferentes ao mesmo tempo pode fazer bc_svc_process() usar id do canal de volta errado e causar use-after-free. Assim, um usuário de contêiner mal-intencionado pode causar uma corrupção de memória do kernel host e um kernel panic. Devido à natureza da falha, a escalação de privilégios não pode ser totalmente descartada.

Detalhes técnicos

Se um node tiver montagens do NFSv41 + dentro de vários namespaces da rede, ele poderá levar a use-after-free em svc_process_common().

svc_process_common()
/* Setup reply header */
rqstp->rq_xprt->xpt_ops->xpo_prep_reply_hdr (rqstp); <<< AQUI

svc_process_common() pode usar o rqstp->rq_xprt já liberado, ele foi designado em bc_svc_process() onde foi retirado do serv->sv_bc_xprt.

serv é uma estrutura global, mas o sv_bc_xprt é designado por netnamespace, portanto, se os compartilhamentos nfsv41+ forem montados em vários contêineres, o bc_svc_process() poderá usar o backchannel errado ou até mesmo acessar a memória liberada.

Créditos

Vasily Averin (Virtuozzo) e Evgenii Shatokhin (Virtuozzo)

Referência(s)

CVE-2018-16884: Linux kernel: nfs: use-after-free in svc_process_common()
https://seclists.org/oss-sec/2018/q4/267

[0/4] use-after-free in svc_process_common()
https://patchwork.kernel.org/cover/10733767/

[1/4] nfs: use-after-free in svc_process_common()
https://patchwork.kernel.org/patch/10733769/

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

CVE-2018-16884
https://nvd.nist.gov/vuln/detail/CVE-2018-16884

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

Última modificação: 1 fevereiro 2019

Não somos responsáveis por qualquer perda de dados, corrupção de dispositivos ou qualquer outro tipo de problema devido ao uso de qualquer informação mencionada em nossos alertas de segurança.