ASA-2019-00483 – Das U-Boot: memcpy sem definição de limite com falha na verificação de tamanho na função nfs_lookup_reply()


For the English version of this alert, click here.

Allele Security Alert

ASA-2019-00483

Identificador(es)

ASA-2019-00483, CVE-2019-14196

Título

memcpy sem definição de limite com falha na verificação de tamanho na função nfs_lookup_reply()

Fabricante(s)

DENX Software Engineering

Produto(s)

Das U-Boot

Versão(ões) afetada(s)

Desconhecido

Versão(ões) corrigida(s)

Desconhecido

Prova de conceito

Desconhecido

Descrição

Existe uma chamada memcpy sem definição de limite com comprimento não validado na função nfs_lookup_reply() que analisa um retorno nfs oriundo da rede. Ela analisa 4 bytes e usa-os como comprimento para um memcpy em dois locais diferentes.

Detalhes técnicos

Uma verificação de comprimento do buffer acontece para garantir que este não seja maior que o buffer alocado. Infelizmente, essa verificação pode ser ignorada com um valor negativo que levaria posteriormente a um buffer overflow.

filefh3_length = ntohl(rpc_pkt.u.reply.data\[1]);
if (filefh3_length > NFS3_FHSIZE)
    filefh3_length  = NFS3_FHSIZE;

memcpy(filefh, rpc_pkt.u.reply.data + 2, filefh3_length);

Créditos

Fermín Serna, Pavel Avgustinov e Kevin Backhouse

Referência(s)

U-Boot RCE Vulnerabilities Affecting IoT Devices
https://blog.semmle.com/uboot-remote-code-execution-vulnerability/

U-Boot NFS RCE Vulnerabilities (CVE-2019-14192)
https://blog.semmle.com/uboot-rce-nfs-vulnerability/

[U-Boot] Remote code execution vulnerabilities in U-Boot’s NFS and other IP parsing code
https://lists.denx.de/pipermail/u-boot/2019-July/378001.html

CVE-2019-14196
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-14196

CVE-2019-14196
https://nvd.nist.gov/vuln/detail/CVE-2019-14196

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

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