ASA-2018-00062 – FreeBSD: Validação ausente em nfsrvd_readdirplus()


For the English version of this alert, click here.

Allele Security Alert

ASA-2018-00062

Identificador(es)

ASA-2018-00062, FreeBSD-SA-18:13.nfs, CVE-2018-17158, CVE-2018-17159

Título

Validação ausente em nfsrvd_readdirplus()

Fabricante(s)

FreeBSD

Produto(s)

FreeBSD

Versão(ões) afetada(s)

Todas as versões suportadas do FreeBSD

Versão(ões) corrigida(s)

stable/11, 11.2-STABLE

releng/11.2, 11.2-RELEASE-p5

Prova de conceito

Desconhecido

Descrição

A verificação insuficiente e incorreta no código do servidor NFS pode causar uma negação de serviço ou, possivelmente, a execução remota de código por meio de um pacote de rede especialmente criado.

Detalhes técnicos

Validação ausente para o argumento hint do dircount para as operações ReaddirPlus do NFSv3 e Readdir do NFSv4. O código verificou um argumento zero, mas não verificou um valor muito grande. Esse patch coincide com o tamanho máximo de dados do servidor.

File: sys/fs/nfsserver/nfs_nfsdport.c
---
2059 int
2060 nfsrvd_readdirplus(struct nfsrv_descript *nd, int isdgram,
2061 struct vnode *vp, struct thread *p, struct nfsexstuff *exp)
2062 {
...
2110 + * Since the size of a Readdirplus directory entry reply will always
2111 + * be greater than a directory entry returned by VOP_READDIR(), it
2112 + * does not make sense to read more than NFS_SRVMAXDATA() via
2113 + * VOP_READDIR().
2114 */
2115 if (siz <= 0)
2116 siz = cnt;
+ else if (siz > NFS_SRVMAXDATA(nd))
+ siz = NFS_SRVMAXDATA(nd);
...
---

Créditos

Jakub Jirasek (Flexera)

Referência(s)

Multiple vulnerabilities in NFS server code
https://www.freebsd.org/security/advisories/FreeBSD-SA-18:13.nfs.asc

FreeBSD Security Advisory FreeBSD-SA-18:13.nfs
https://seclists.org/bugtraq/2018/Nov/48

Log of /stable/11
https://svnweb.freebsd.org/base/stable/11/?view=log&pathrev=340854

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

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

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

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

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

Última modificação: 7 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.