ASA-2019-00625 – Xen: Interrupções são incondicionalmente desmascaradas em gerenciadores de exceções


For the English version of this alert, click here.

Allele Security Alert

ASA-2019-00625

Identificador(es)

ASA-2019-00625, CVE-2019-18422, XSA-303

Título

Interrupções são incondicionalmente desmascaradas em gerenciadores de exceções

Fabricante(s)

The Xen Project

Produto(s)

Xen

Versão(ões) afetada(s)

Todas as versões do Xen em sistemas ARM

Versão(ões) corrigida(s)

Xen 4.8 com os seguintes patches:

[PATCH 1/5] Revert “xen/arm32: entry: Consolidate DEFINE_TRAP_ENTRY_* macros”
https://xenbits.xen.org/xsa/xsa303-4.8/0001-Revert-xen-arm32-entry-Consolidate-DEFINE_TRAP_ENTRY.patch

[PATCH 2/5] xen/arm32: entry: Consolidate DEFINE_TRAP_ENTRY*() macros
https://xenbits.xen.org/xsa/xsa303-4.8/0002-xen-arm32-entry-Consolidate-DEFINE_TRAP_ENTRY-macros.patch

[PATCH 3/5] xen/arm32: entry: Fold the macro SAVE_ALL in the macro vector
https://xenbits.xen.org/xsa/xsa303-4.8/0003-xen-arm32-entry-Fold-the-macro-SAVE_ALL-in-the-macro.patch

[PATCH 4/5] xen/arm32: Don’t blindly unmask interrupts on trap without a change of level
https://xenbits.xen.org/xsa/xsa303-4.8/0004-xen-arm32-Don-t-blindly-unmask-interrupts-on-trap-wi.patch

[PATCH 5/5] xen/arm64: Don’t blindly unmask interrupts on trap without a change of level
https://xenbits.xen.org/xsa/xsa303-4.8/0005-xen-arm64-Don-t-blindly-unmask-interrupts-on-trap-wi.patch

Xen unstable – 4.9 com os seguintes patches:

[PATCH 1/4] xen/arm32: entry: Split __DEFINE_ENTRY_TRAP in two
https://xenbits.xen.org/xsa/xsa303/0001-xen-arm32-entry-Split-__DEFINE_ENTRY_TRAP-in-two.patch

[PATCH 2/4] xen/arm32: entry: Fold the macro SAVE_ALL in the macro
vector
https://xenbits.xen.org/xsa/xsa303/0002-xen-arm32-entry-Fold-the-macro-SAVE_ALL-in-the-macro.patch

[PATCH 3/4] xen/arm32: Don’t blindly unmask interrupts on trap without a change of level
https://xenbits.xen.org/xsa/xsa303/0003-xen-arm32-Don-t-blindly-unmask-interrupts-on-trap-wi.patch

[PATCH 4/4] xen/arm64: Don’t blindly unmask interrupts on trap without a change of level
https://xenbits.xen.org/xsa/xsa303/0004-xen-arm64-Don-t-blindly-unmask-interrupts-on-trap-wi.patch

Prova de conceito

Desconhecido

Descrição

Um convidado mal-intencionado pode inventar para que o código Xen crítico seja executado com interrupções ativadas erroneamente. Isso pode levar à corrupção de dados, negação de serviço ou possivelmente até aumento de privilégios.

Detalhes técnicos

Quando ocorre uma exceção em um sistema ARM que é tratado sem alterar o nível do processador, algumas interrupções são ativadas incondicionalmente durante a entrada da exceção. Portanto, as exceções que ocorrem quando as interrupções são mascaradas efetivamente desmascaram as interrupções.

Créditos

Julian Grall (Arm)

Referência(s)

XSA-303 – Xen Security Advisories
https://xenbits.xen.org/xsa/advisory-303.html

oss-security – Xen Security Advisory 303 v4 (CVE-2019-18422) – ARM: Interrupts
are unconditionally unmasked in exception handlers
https://www.openwall.com/lists/oss-security/2019/10/31/5

xen/arm32: entry: Consolidate DEFINE_TRAP_ENTRY_* macros
https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=6082e3ba8941b3d10c3cb73f445759c19e89afc9

[PATCH 1/5] Revert “xen/arm32: entry: Consolidate DEFINE_TRAP_ENTRY_* macros”
https://xenbits.xen.org/xsa/xsa303-4.8/0001-Revert-xen-arm32-entry-Consolidate-DEFINE_TRAP_ENTRY.patch

[PATCH 2/5] xen/arm32: entry: Consolidate DEFINE_TRAP_ENTRY*() macros
https://xenbits.xen.org/xsa/xsa303-4.8/0002-xen-arm32-entry-Consolidate-DEFINE_TRAP_ENTRY-macros.patch

[PATCH 3/5] xen/arm32: entry: Fold the macro SAVE_ALL in the macro vector
https://xenbits.xen.org/xsa/xsa303-4.8/0003-xen-arm32-entry-Fold-the-macro-SAVE_ALL-in-the-macro.patch

[PATCH 4/5] xen/arm32: Don’t blindly unmask interrupts on trap without a change of level
https://xenbits.xen.org/xsa/xsa303-4.8/0004-xen-arm32-Don-t-blindly-unmask-interrupts-on-trap-wi.patch

[PATCH 5/5] xen/arm64: Don’t blindly unmask interrupts on trap without a change of level
https://xenbits.xen.org/xsa/xsa303-4.8/0005-xen-arm64-Don-t-blindly-unmask-interrupts-on-trap-wi.patch

[PATCH 1/4] xen/arm32: entry: Split __DEFINE_ENTRY_TRAP in two
https://xenbits.xen.org/xsa/xsa303/0001-xen-arm32-entry-Split-__DEFINE_ENTRY_TRAP-in-two.patch

[PATCH 2/4] xen/arm32: entry: Fold the macro SAVE_ALL in the macro
vector
https://xenbits.xen.org/xsa/xsa303/0002-xen-arm32-entry-Fold-the-macro-SAVE_ALL-in-the-macro.patch

[PATCH 3/4] xen/arm32: Don’t blindly unmask interrupts on trap without a change of level
https://xenbits.xen.org/xsa/xsa303/0003-xen-arm32-Don-t-blindly-unmask-interrupts-on-trap-wi.patch

[PATCH 4/4] xen/arm64: Don’t blindly unmask interrupts on trap without a change of level
https://xenbits.xen.org/xsa/xsa303/0004-xen-arm64-Don-t-blindly-unmask-interrupts-on-trap-wi.patch

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

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

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

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