ASA-2018-00091 – Linux kernel: 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 kernel

Produto(s)

Linux kernel

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: 23 de dezembro de 2018