Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2022-44311 — Leitura Fora dos Limites em html2xhtml : CVE-2022-44311 | Kitploit
Ferramentas/GitHubGitHub/desmondsanctity/cve-2022-44311
Forensia de MemóriaAnálise de VulnerabilidadesExploraçãoFuzzingAnálise de BináriosAprendizado e Educação
GitHubdesmondsanctity/cve-2022-44311

CVE-2022-44311

Leitura Fora dos Limites em html2xhtml : CVE-2022-44311

Ver Repositório
25há 3 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Leitura Fora dos Limites em html2xhtml: CVE-2022-44311

Resumo

Html2xhtml v1.3 foi descoberto por conter uma leitura fora dos limites na função static void elm_close(tree_node_t *nodo) em procesador.c. Esta vulnerabilidade permite que atacantes acessem arquivos sensíveis ou causem uma Negação de Serviço (DoS) por meio de um arquivo html malicioso.

CWE-125 Leitura Fora dos Limites é um tipo de erro de software que pode ocorrer ao ler dados da memória. Isso pode acontecer se o programa tentar ler além do final de um array, por exemplo. Leituras fora dos limites podem levar a falhas ou outras vulnerabilidades inesperadas, e podem permitir que um atacante leia informações sensíveis às quais não deveria ter acesso.

Produto

html2xhtml

Versão Testada

1.3

Detalhes

Problema: Leitura Fora dos Limites em html2xhtml/src/procesador.c. (GHSA-28fm-qh2h-3mch)

Html2xhtml é uma ferramenta de linha de comando que converte arquivos HTML em arquivos XHTML. Html2xhtml pode gerar a saída XHTML em conformidade com um dos seguintes tipos de documento: XHTML 1.0 (Transicional, Estrito e Frameset), XHTML 1.1, XHTML Basic e XHTML Mobile Profile.

A vulnerabilidade foi descoberta devido a um erro de segfault que ocorreu ao usar a opção -t frameset. Uma falha de segmentação ou segfault é um tipo específico de erro causado ao acessar memória que não lhe pertence. É um mecanismo auxiliar que impede a corrupção da memória e a introdução de bugs de memória difíceis de depurar.

Com o uso do Valgrind, uma ferramenta para encontrar erros de acesso à memória heap (memória alocada dinamicamente com new ou malloc) em programas C e C++, o erro de segfault foi depurado e relatou uma leitura inválida de tamanho 4 no caso de teste:

root@kitploit:~
==1040381== Memcheck, a memory error detector
==1040381== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==1040381== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==1040381== Command: ./src/html2xhtml -t frameset report/vuln/id:000000,sig:11,src:001386+001369,time:12081510,execs:2336913,op:splice,rep:16
==1040381== 
==1040381== Invalid read of size 4
==1040381==    at 0x40E911: elm_close (procesador.c:944)
==1040381==    by 0x410617: err_html_struct (procesador.c:1889)
==1040381==    by 0x40F20A: err_content_invalid (procesador.c:0)
==1040381==    by 0x40F20A: elm_close (procesador.c:959)
==1040381==    by 0x40E7C4: saxEndDocument (procesador.c:233)
==1040381==    by 0x40DF7A: main (html2xhtml.c:117)
==1040381==  Address 0x6f20d4 is not stack'd, malloc'd or (recently) free'd
==1040381== 
==1040381== 
==1040381== Process terminating with default action of signal 11 (SIGSEGV)
==1040381==  Access not within mapped region at address 0x6F20D4
==1040381==    at 0x40E911: elm_close (procesador.c:944)
==1040381==    by 0x410617: err_html_struct (procesador.c:1889)
==1040381==    by 0x40F20A: err_content_invalid (procesador.c:0)
==1040381==    by 0x40F20A: elm_close (procesador.c:959)
==1040381==    by 0x40E7C4: saxEndDocument (procesador.c:233)
==1040381==    by 0x40DF7A: main (html2xhtml.c:117)
==1040381==  If you believe this happened as a result of a stack
==1040381==  overflow in your program's main thread (unlikely but
==1040381==  possible), you can try to increase the size of the
==1040381==  main thread stack using the --main-stacksize= flag.
==1040381==  The main thread stack size used in this run was 8388608.
==1040381== 
==1040381== HEAP SUMMARY:
==1040381==     in use at exit: 88,190 bytes in 13 blocks
==1040381==   total heap usage: 22 allocs, 9 frees, 2,218,413 bytes allocated
==1040381== 
==1040381== LEAK SUMMARY:
==1040381==    definitely lost: 0 bytes in 0 blocks
==1040381==    indirectly lost: 0 bytes in 0 blocks
==1040381==      possibly lost: 0 bytes in 0 blocks
==1040381==    still reachable: 88,190 bytes in 13 blocks
==1040381==         suppressed: 0 bytes in 0 blocks
==1040381== Rerun with --leak-check=full to see details of leaked memory
==1040381== 
==1040381== For lists of detected and suppressed errors, rerun with: -s
==1040381== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
==1040419== Memcheck, a memory error detector

O log de erro do Valgrind nos levou à seguinte função onde o segfault ocorreu:

https://github.com/jfisteus/html2xhtml/blob/ffb2f1f12910eb5945413e0bdb9272b508241aa1/src/procesador.c#L940

image

Foi descoberto que há uma verificação de tipo ausente na função. O usuário estava passando um nó do tipo comment em vez de element para a função, e isso resulta em um erro de leitura fora dos limites. Um usuário poderia fornecer um documento malformado com um ELM_PTR(nodo).contenttype[doctype] inválido, resultando na seguinte comparação em assembly:

root@kitploit:~
cmp    dword ptr [rbp + rax*4 + 0xc], 4

Esta vulnerabilidade pode ser explorada por atacantes para ler arquivos, memória ou locais sensíveis usando um arquivo adulterado.

Impacto

  • Este problema pode ser explorado por atacantes para ler memória, locais ou arquivos sensíveis.
  • Atacantes também podem causar um ataque de Negação de Serviço (DoS) por meio de um arquivo html malicioso.

Correções

  • Esta vulnerabilidade afeta qualquer usuário que utilize qualquer versão empacotada do software. Há uma correção vinculada a este commit no branch master do repositório github do software.
  • Recomenda-se que os usuários obtenham as atualizações recentes do pacote datadas de 25 de outubro de 2022 ou posterior e compilem em sua máquina. Não há novo lançamento ou versão após a correção do bug.

Recursos

  • https://nvd.nist.gov/vuln/detail/CVE-2022-44311
  • jfisteus/html2xhtml#19
  • https://securityboulevard.com/2022/06/what-is-an-out-of-bounds-read-and-out-of-bounds-write-error/
  • https://cwe.mitre.org/data/definitions/125.html

Métricas Base CVSS

CVE

  • CVE-2022-44311

Créditos

  • Este problema foi descoberto e relatado por @Halcy0nic como uma issue para o repositório de software do html2xhtml.
Baixar ferramenta
GravidadeAlta 8.1 / 10
Complexidade do ataqueBaixa
Privilégios necessáriosNenhum
Interação do usuárioNecessária
EscopoInalterado
ConfidencialidadeAlta
IntegridadeNenhuma
DisponibilidadeAlta