Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-23008-Solidity-Assembly-Return-Data-Size-Confusion — PoC éducatif pour la confusion de taille des return-data de l'assembly Solidity ; inclut un contrat vulnérable, une simulation d'exploitation et des recommandations d'atténuation pour un décodage ABI sécurisé. | Kitploit
Outils/GitHubGitHub/george0papasotiriou/cve-2026-23008-solidity-assembly-return-data-size-confusion
Analyse des VulnérabilitésAnalyse de CodeExploitationApprentissage et Éducation
GitHubgeorge0papasotiriou/cve-2026-23008-solidity-assembly-return-data-size-confusion

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

PoC éducatif pour la confusion de taille des return-data de l'assembly Solidity ; inclut un contrat vulnérable, une simulation d'exploitation et des recommandations d'atténuation pour un décodage ABI sécurisé.

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
il y a 14 joursPas encore vérifié

CVE-2026-23008 – Confusion sur la taille des données de retour en assembly Solidity

Code du programme (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 – Confusion sur la taille des données de retour en assembly Solidity

Severity: High

Aperçu

Un contrat Solidity utilise de l'assembly inline pour lire une valeur retournée, mais ne valide pas que la longueur des données de retour est suffisante. Un attaquant peut renvoyer des données vides, ce qui fait lire à l'assembly des données de pile arbitraires, entraînant une corruption de la mémoire ou un contournement de sécurité.

Détails de la vulnérabilité

  • Type: Bug de sécurité mémoire / logique
  • Impact: Vol de fonds, détournement de contrat.
  • Cause racine: Le contrat suppose que l'appel externe retourne toujours au moins 32 octets ; des données vides ou tronquées provoquent une lecture hors limites.

Démonstration de l'exploitation

Déployez le contrat vulnérable et un contrat attaquant qui renvoie une réponse vide. Le mload lit des données obsolètes.

Atténuation

  • Vérifiez la longueur de ret avant d'y accéder via l'assembly.
  • Utilisez le décodeur ABI (abi.decode) au lieu de l'assembly brut.
  • Évitez l'assembly inline pour l'analyse des données.

Installation et utilisation

root@kitploit:~
git clone https://github.com/yourorg/CVE-2026-23008.git
cd CVE-2026-23008
# Use Foundry to test
Télécharger l’outil