ASA-2018-00063 – FreeBSD: Validação ausente em nfsrvd_compound()


For the English version of this alert, click here.

Allele Security Alert

ASA-2018-00063

Identificador(es)

ASA-2018-00063, FreeBSD-SA-18:13.nfs, CVE-2018-17157

Título

Validação ausente em nfsrvd_compound()

Fabricante(s)

The FreeBSD Project

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

A função nfsrvd_compound () iniciou a coleta de estatísticas para uma operação antes que o número da operação (a variável chamada “op”) fosse verificada.

File: sys/fs/nfsserver/nfs_nfsdsocket.c
---
621 static void
622 nfsrvd_compound(struct nfsrv_descript *nd, int isdgram, u_char *tag,
623 int taglen, u_int32_t minorvers, NFSPROC_T *p)
624 {
...
766 *repp = *tl; *repp = *tl;
767 op = fxdr_unsigned(int, *tl);
768 NFSD_DEBUG(4, "op=%d\n", op);

- binuptime(&start_time);
- nfsrvd_statstart(op, &start_time);
- statsinprog = 1;

769 if (op < NFSV4OP_ACCESS ||
770 (op >= NFSV4OP_NOPS && (nd->nd_flag & ND_NFSV41) == 0) ||
771 (op >= NFSV41_NOPS && (nd->nd_flag & ND_NFSV41) != 0)) {
...
777 } else {
778 repp++;
779 }
780
781 + binuptime(&start_time);
782 + nfsrvd_statstart(op, &start_time);
783 + statsinprog = 1;
784
785 if (i == 0)
786 op0 = op;
787 if (i == numops - 1)
...
---

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-17157
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-17157

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

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.