
PoC para CVE-2022-26809, análise e considerações são mostradas no github.io.
PoC para CVE-2022-26809, análise e considerações são mostradas no github.io.
O PoC foi escrito sobrescrevendo funções do Impacket.
Testado com: impacket versão 0.10.0
O PoC não foi totalmente testado, porque ele deve acionar a vulnerabilidade, ou seja, integer overflow, que leva a buffer overflow no heap, é alcançado após 1048576 pacotes enviados, pois 1048576*4096 estoura um inteiro de 32 bits.
Não encontrei nenhuma maneira de burlar o tamanho; ao que me parece, o fragment len, que tem 16 bits, é verificado contra o tamanho real do payload, portanto eles devem ser coerentes.
Limitações:
O projeto contém as versões vulnerável e corrigida da dll rpcrt e o RPC Server está aqui: RPC Server
Finalmente, escrevi o PoC no final de uma análise apenas para me desafiar e aprender um pouco mais sobre a implementação de RPC.
A análise que me levou a escrever este PoC está no meu GithubPages