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