ASA-2020-00049 – Linux kernel: Vazamento de informações da stack do kernel na plataforma s390/s390x


For the English version of this alert, click here.

Allele Security Alert

ASA-2020-00049

Identificador(es)

ASA-2020-00049, CVE-2020-10773

Título

Vazamento de informações da stack do kernel na plataforma s390/s390x

Fabricante(s)

Linux foundation

Produto(s)

Linux kernel

Versão(ões) afetada(s)

Linux kernel 5.3.x versões anteriores à 5.3.9
Linux kernel 4.19.x versões anteriores à 4.19.82
Linux kernel 4.14.x versões anteriores à 4.14.152
Linux kernel 4.9.x versões anteriores à 4.9.199
Linux kernel 4.4.x versões anteriores à 4.4.199
Linux kernel 3.16.x versões anteriores à 3.16.80

Versão(ões) corrigida(s)

Linux kernel versão 5.4
Linux kernel versão 5.3.9
Linux kernel versão 4.19.82
Linux kernel versão 4.14.152
Linux kernel versão 4.9.199
Linux kernel versão 4.4.199
Linux kernel versão 3.16.80

Versões do kernel Linux com o seguinte commit aplicado:

s390/cmm: fix information leak in cmm_timeout_handler()
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b8e51a6a9db94bc1fb18ae831b3dab106b5a4b5f

Prova de Conceito

Desconhecido

Descrição

Na função cmm_timeout_handler() no arquivo arch/s390/mm/cmm.c, há um erro lógico que define o byte nulo (NULL) muito longe da entrada do usuário, o que significa que a entrada do usuário não terá um final nulo. E então, os dados da stack do kernel serão concatenados com a entrada do usuário e processados. Ao consultar o resultado, o atacante consegue ver os dados do kernel.

Detalhes técnicos

O problema é que o terminador NULL  estava sendo colocado longe demais:

buf[sizeof(buf) - 1] = '\0';

Se a entrada do usuário não for terminada em NULL e eles não inicializarem o buffer inteiro, isso leva a um vazamento de informações. O terminador NULL deve ser:

buf[len - 1] = '\0';

Créditos

Desconhecido

Referência(s)

Bug 1846380 (CVE-2020-10773) – CVE-2020-10773 kernel: kernel stack information leak on s390/s390x
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2020-10773

s390/cmm: fix information leak in cmm_timeout_handler()
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b8e51a6a9db94bc1fb18ae831b3dab106b5a4b5f

s390/cmm: fix information leak in cmm_timeout_handler()
https://github.com/torvalds/linux/commit/b8e51a6a9db94bc1fb18ae831b3dab106b5a4b5f

Linux 5.4
https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.4

Linux 5.3.9
https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.3.9

Linux 4.19.82
https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.82

Linux 4.14.152
https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.14.152

Linux 4.9.199
https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.9.199

Linux 4.4.199
https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.4.199

Linux 3.16.80
https://cdn.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.16.80

CVE-2020-10773
https://access.redhat.com/security/cve/CVE-2020-10773

CVE-2020-10773 in Ubuntu
https://people.canonical.com/~ubuntu-security/cve/CVE-2020-10773.html

CVE-2020-10773 | SUSE
https://www.suse.com/security/cve/CVE-2020-10773

CVE-2020-10773
https://security-tracker.debian.org/tracker/CVE-2020-10773

CVE-2020-10773
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10773

CVE-2020-10773
https://nvd.nist.gov/vuln/detail/CVE-2020-10773

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

Última modificação: 16 setembro 2020

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.