ASA-2018-00020 – curl: Out-of-bounds read em mensagem de aviso


For the English version of this alert, click here.

Allele Security Alert

ASA-2018-00020

Identificador(es)

ASA-2018-00020, CVE-2018-16842

Título

Out-of-bounds read em mensagem de aviso

Produto(s)

curl

Versão(ões) afetada(s)

curl 7.14.1 até e incluindo 7.61.1

Versão(ões) corrigida(s)

curl < 7.14.1 e >= 7.62.0

Prova de conceito

Desconhecido

Descrição

curl contém uma vulnerabilidade de out-of-bound read na heap.

A ferramenta de linha de comando tem uma função genérica para mostrar avisos e mensagens informativas em stderr em diversas situações. Por exemplo se um argumento desconhecido é usado em uma linha de comando ou passado para ele em um arquivo de configuração.

Esta função de exibição formata a saída para ser quebrada em 80 colunas. No entanto, a lógica de quebra de texto é falha, portanto, se uma única palavra na mensagem é maior que 80 bytes, o cálculo do buffer do restante é feito erroneamente e acabará lendo além do final do buffer. Isto pode conduzir  a vazamento de informações ou tornar o sistema instável.

Esta vulnerabilidade pode levar para uma situação de segurança se usada nestas ou similares situações:

  1. um servidor em algum lugar usa curl via linha de comando e executa e se ele falhar,
  2. ele mostra o conteúdo de stderr para o usuário
  3. o servidor recebe entrada de dados do usuário como parte da entrada de dados do comando
  4. usuário provê algo muito longo que é capaz de acionar este problema
  5. a saída de stderr pode agora conter dados da memória pertencente ao usuário que não eram para estarem disponíveis

Referência(s)

CURL 7.62.0 MOAR STUFF
https://daniel.haxx.se/blog/2018/10/31/curl-7-62-0-moar-stuff/

warning message out-of-buffer read
https://curl.haxx.se/docs/CVE-2018-16842.html

Added more verbose “warning” messages to the curl client for cases
https://github.com/curl/curl/commit/d9ca9154d1

voutf: fix bad arethmetic when outputting warnings to stderr
https://github.com/curl/curl/commit/d530e92f59ae9bb2d47066c3c460b25d2ffeb211

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

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


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

Última modificação: 7 de novembro de 2018