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-2026-23008-Solidity-Assembly-Return-Data-Size-Confusion — PoC educacional para confusão de tamanho de return-data em assembly do Solidity; inclui contrato vulnerável, simulação de exploração e orientações de mitigação para decodificação segura de ABI. | Kitploit
Ferramentas/GitHubGitHub/george0papasotiriou/cve-2026-23008-solidity-assembly-return-data-size-confusion
Análise de VulnerabilidadesAnálise de CódigoExploraçãoAprendizado e Educação
GitHubgeorge0papasotiriou/cve-2026-23008-solidity-assembly-return-data-size-confusion

CVE-2026-23008-Solidity-Assembly-Return-Data-Size-Confusion

PoC educacional para confusão de tamanho de return-data em assembly do Solidity; inclui contrato vulnerável, simulação de exploração e orientações de mitigação para decodificação segura de ABI.

Ver Repositório
1há 1 mêsAinda 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

CVE-2026-23008 – Confusão de Tamanho de Dados de Retorno em Assembly Solidity

Código do Programa (Solidity)

root@kitploit:~
// ReturnSizeConfusion.sol
contract Victim {
    function callExternal(address target) external returns (bytes memory) {
        (bool success, bytes memory ret) = target.call(abi.encodeWithSignature("someFunc()"));
        require(success, "call failed");
        // Vulnerability: assumes ret is at least 32 bytes, but could be empty
        uint256 value;
        assembly {
            value := mload(add(ret, 32))
        }
        return ret;
    }
}

CVE-2026-23008 – Confusão de Tamanho de Dados de Retorno em Assembly Solidity

Severity: High

Visão Geral

Um contrato Solidity usa assembly embutido para ler um valor retornado, mas não valida se o comprimento dos dados de retorno é suficiente. Um atacante pode retornar dados vazios, fazendo com que o assembly leia dados arbitrários da pilha, resultando em corrupção de memória ou bypass de segurança.

Detalhes da Vulnerabilidade

  • Tipo: Segurança de Memória / Bug de Lógica
  • Impacto: Roubo de fundos, sequestro de contrato.
  • Causa raiz: O contrato assume que a chamada externa sempre retorna pelo menos 32 bytes; dados vazios ou truncados causam leitura fora dos limites.

Demonstração do Exploit

Implante o contrato vulnerável e um contrato atacante que retorna uma resposta vazia. O mload lê dados obsoletos.

Mitigação

  • Verifique o comprimento de ret antes de acessar via assembly.
  • Use o decodificador ABI (abi.decode) em vez de assembly puro.
  • Evite assembly inline para análise de dados.

Instalação e Uso

root@kitploit:~
git clone https://github.com/yourorg/CVE-2026-23008.git
cd CVE-2026-23008
# Use Foundry to test
Baixar ferramenta