Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-23008-Solidity-Assembly-Return-Data-Size-Confusion — PoC educativo sobre la confusión del tamaño de los datos de retorno en assembly de Solidity; incluye contrato vulnerable, simulación de explotación y guía de mitigación para una decodificación ABI segura. | Kitploit
Herramientas/GitHubGitHub/george0papasotiriou/cve-2026-23008-solidity-assembly-return-data-size-confusion
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónAprendizaje y Educación
GitHubgeorge0papasotiriou/cve-2026-23008-solidity-assembly-return-data-size-confusion

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

PoC educativo sobre la confusión del tamaño de los datos de retorno en assembly de Solidity; incluye contrato vulnerable, simulación de explotación y guía de mitigación para una decodificación ABI segura.

Ver Repositorio
1hace 1 mesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-23008 – Confusión de tamaño de datos de retorno en ensamblador Solidity

Código del 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 – Confusión de tamaño de datos de retorno en ensamblador Solidity

Severity: High

Resumen

Un contrato Solidity usa ensamblador en línea para leer un valor devuelto, pero no valida que la longitud de los datos de retorno sea suficiente. Un atacante puede devolver datos vacíos, lo que hace que el ensamblador lea datos arbitrarios de la pila, provocando corrupción de memoria o evasión de seguridad.

Detalles de la vulnerabilidad

  • Tipo: Seguridad de memoria / Error lógico
  • Impacto: Robo de fondos, secuestro del contrato.
  • Causa raíz: El contrato asume que la llamada externa siempre devuelve al menos 32 bytes; los datos vacíos o truncados causan una lectura fuera de los límites.

Demostración del exploit

Implementa el contrato vulnerable y un contrato atacante que devuelva una respuesta vacía. El mload lee datos obsoletos.

Mitigación

  • Verifica la longitud de ret antes de acceder mediante ensamblador.
  • Usa el decodificador ABI (abi.decode) en lugar de ensamblador en bruto.
  • Evita el ensamblador en línea para el análisis de datos.

Instalación y uso

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