libvirt libxl/libxl_driver.c libxlDomainGetNumaParameters Invalid Free Elevação de Privilégios
| CVSS Meta Pontuação Temporária | Preço atual do exploit (≈) | Nota de Interesse CTI |
|---|---|---|
| 8.9 | $0-$5k | 0.00 |
Sumário
Detectou-se uma vulnerabilidade classificada como crítico em libvirt. O elemento afetado é a função libxlDomainGetNumaParameters na biblioteca libxl/libxl_driver.c. A manipulação com uma entrada desconhecida leva a Elevação de Privilégios.
Esta vulnerabilidade é identificada como CVE-2013-6457. Além disso, um exploit está disponível.
Recomenda-se instalar um patch para corrigir esta vulnerabilidade.
Detalhes
Detectou-se uma vulnerabilidade classificada como crítico em libvirt. O elemento afetado é a função libxlDomainGetNumaParameters na biblioteca libxl/libxl_driver.c. A manipulação com uma entrada desconhecida leva a Elevação de Privilégios. Usar a CWE para declarar o problema leva à CWE-264. A fraqueza foi publicada 20/12/2013 por Dario Faggioli como avoid crashing if calling `virsh numatune' on inactive domain como Posting (Mailing List). O comunicado foi disponibilizado para download em redhat.com.
Esta vulnerabilidade é identificada como CVE-2013-6457. A atribuição do identificador CVE aconteceu em 04/11/2013. Há detalhes técnicos disponíveis. Esta vulnerabilidade apresenta popularidade inferior à média. Além disso, um exploit está disponível. O exploit foi exposto ao público e pode ser aproveitado. No momento, o preço atual de um exploit pode estar em torno de USD $0-$5k atualmente. O projeto MITRE ATT&CK declara a técnica de ataque como T1068. O seguinte código é a razão para esta vulnerabilidade:
# ./daemon/libvirtd -v * Error in `/home/xen/libvirt.git/daemon/.libs/lt-libvirtd': munmap_chunk(): invalid pointer: 0x00007fdd42592666 * ======= Backtrace: ========= /lib64/libc.so.6(+0x7bbe7)[0x7fdd3f767be7] /lib64/libxenlight.so.4.3(libxl_bitmap_dispose+0xd)[0x7fdd2c88c045] /home/xen/libvirt.git/daemon/.libs/../../src/.libs/libvirt_driver_libxl.so(+0x12d26)[0x7fdd2caccd26] /home/xen/libvirt.git/src/.libs/libvirt.so.0(virDomainGetNumaParameters+0x15c)[0x7fdd4247898c] /home/xen/libvirt.git/daemon/.libs/lt-libvirtd(+0x1d9a2)[0x7fdd42ecc9a2] /home/xen/libvirt.git/src/.libs/libvirt.so.0(virNetServerProgramDispatch+0x3da)[0x7fdd424e9eaa] /home/xen/libvirt.git/src/.libs/libvirt.so.0(+0x1a6f38)[0x7fdd424e3f38] /home/xen/libvirt.git/src/.libs/libvirt.so.0(+0xa81e5)[0x7fdd423e51e5] /home/xen/libvirt.git/src/.libs/libvirt.so.0(+0xa783e)[0x7fdd423e483e] /lib64/libpthread.so.0(+0x7c53)[0x7fdd3febbc53] /lib64/libc.so.6(clone+0x6d)[0x7fdd3f7e1dbd]O boletim informa:
libxl: avoid crashing if calling `virsh numatune' on inactive domain by, in libxlDomainGetNumaParameters(), calling libxl_bitmap_init() as soon as possible, which avoids getting to 'cleanup:', where libxl_bitmap_dispose() happens, without having initialized the nodemap, and hence crashing after some invalid free()-s:
É declarado como prova de conceito. Como 0-day, o valor estimado no submundo era aproximadamente $0-$5k. O scanner de vulnerabilidades Nessus fornece um plugin com o ID 75266. Pertence à família SuSE Local Security Checks. Está utilizando a porta 0. O scanner de vulnerabilidade comercial Qualys é capaz de testar este problema com plugin 195783 (Ubuntu Security Notification for Libvirt Vulnerabilities (USN-2093-1)).
O patch pode ser baixado em libvirt.org. Recomenda-se instalar um patch para corrigir esta vulnerabilidade. Esta vulnerabilidade será resolvida com o seguinte código:
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 29aa6c7..d91744f 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@ -3958,6 +3958,8 @ libxlDomainGetNumaParameters(virDomainPtr dom,
- the filtering on behalf of older clients that can't parse it. */ flags &= ~VIR_TYPED_PARAM_STRING_OKAY; + libxl_bitmap_init(&nodemap); + if (!(vm = libxlDomObjFromDomain(dom))) goto cleanup;
@ -3972,8 +3974,6 @ libxlDomainGetNumaParameters(virDomainPtr dom,
priv = vm->privateData;
- libxl_bitmap_init(&nodemap);
-
if ((*nparams) == 0) {
*nparams = LIBXL_NUMA_NPARAM;
ret = 0;
Produto
Tipo
Nome
Licença
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vetor: 🔍VulDB Fiabilidade: 🔍
CVSSv3
VulDB Meta Pontuação Base: 9.9VulDB Meta Pontuação Temporária: 8.9
VulDB Pontuação Base: 9.9
VulDB Pontuação Temporária: 8.9
VulDB Vetor: 🔍
VulDB Fiabilidade: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexidade | Autenticação | Confidencialidade | Integridade | Disponibilidade |
|---|---|---|---|---|---|
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
VulDB Pontuação Base: 🔍
VulDB Pontuação Temporária: 🔍
VulDB Fiabilidade: 🔍
NVD Pontuação Base: 🔍
Exploração
Nome: Invalid FreeClasse: Elevação de Privilégios / Invalid Free
CWE: CWE-264
CAPEC: 🔍
ATT&CK: 🔍
Físico: Não
Local: Não
Remoto: Sim
Disponibilidade: 🔍
Acesso: Público
Estado: Prova de conceito
EPSS Score: 🔍
EPSS Percentile: 🔍
Tendência de preços: 🔍
Estimativa de preço atual: 🔍
| 0-Day | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
|---|---|---|---|---|
| Hoje | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
Nessus ID: 75266
Nessus Nome: openSUSE Security Update : libvirt (openSUSE-SU-2014:0268-1)
Nessus Ficheiro: 🔍
Nessus Risco: 🔍
Nessus Família: 🔍
Nessus Port: 🔍
OpenVAS ID: 841696
OpenVAS Nome: Ubuntu Update for libvirt USN-2093-1
OpenVAS Ficheiro: 🔍
OpenVAS Família: 🔍
Qualys ID: 🔍
Qualys Nome: 🔍
Inteligência de ameaças
Interesse: 🔍Atores ativos: 🔍
Grupos APT ativos: 🔍
Contramedidas
Recomendação: PatchEstado: 🔍
Tempo de resposta: 🔍
Tempo 0-dia: 🔍
Tempo de exposição: 🔍
Patch: libvirt.org
Linha do tempo
04/11/2013 🔍20/12/2013 🔍
20/12/2013 🔍
20/12/2013 🔍
20/12/2013 🔍
15/01/2014 🔍
21/01/2014 🔍
24/01/2014 🔍
30/01/2014 🔍
13/06/2014 🔍
08/06/2021 🔍
Fontes
Aconselhamento: avoid crashing if calling `virsh numatune' on inactive domainPessoa: Dario Faggioli
Estado: Confirmado
Confirmação: 🔍
CVE: CVE-2013-6457 (🔍)
GCVE (CVE): GCVE-0-2013-6457
GCVE (VulDB): GCVE-100-12003
OVAL: 🔍
X-Force: 90446
SecurityFocus: 64963 - libvirt 'libxlDomainGetNumaParameters()' Function Local Denial of Service Vulnerability
Secunia: 56308 - libvirt "libxlDomainGetNumaParameters()" Invalid Free Vulnerability, Less Critical
OSVDB: 102254
Vulnerability Center: 43106 - Libvirt before 1.2.1 Remote DoS or Code Execution Vulnerability by Calling \x27Virsh Numatune\x27 on Inactive Domain, Medium
scip Labs: https://www.scip.ch/en/?labs.20161013
Veja também: 🔍
Entrada
Criado: 21/01/2014 09h39Atualizado: 08/06/2021 13h57
Ajustamentos: 21/01/2014 09h39 (79), 21/08/2017 08h50 (11), 08/06/2021 13h57 (3)
Completo: 🔍
Cache ID: 216::103
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Ainda sem comentários. Idiomas: pt + es + en.
Por favor, inicie sessão para comentar.