
Dieses Repository enthält ein C-Programm zum Testen von CVE-2024-2961, einer Pufferüberlauf-Schwachstelle in der iconv()-Funktion von glibc.
Dieses Repository enthält ein C-Programm zum Testen von CVE-2024-2961, bei dem es sich um eine Pufferüberlauf-Schwachstelle in der Funktion iconv() der GNU C Library (glibc) handelt. Aufgrund der Struktur des PHP-Heaps kann dieser Überlauf ausgenutzt werden, um einen Teil eines Freispeicher-Listenzeigers zu modifizieren, was letztlich eine beliebige Schreibprimitive im Speicher des Programms ermöglicht. Folglich kann jeder Angreifer mit einer Dateileseschwachstelle und einem kontrollierten Präfix in einer PHP-Anwendung RCE erlangen. Ebenso ermöglicht das Erzwingen von PHP, iconv() mit kontrollierten Parametern aufzurufen, dem Angreifer dieselbe Fähigkeit.
iconv-Bibliothek installiert.Stellen Sie sicher, dass Ihr System glibc Version 2.39 oder älter hat:
ldd --version
Klonen Sie dieses Repository auf Ihren lokalen Rechner:
git clone https://github.com/exfil0/test_iconv.git
cd test_iconv
Verwenden Sie GCC, um das C-Programm zu kompilieren:
gcc -o test_iconv test_iconv.c -liconv
Führen Sie das kompilierte Programm aus:
./test_iconv
gdb, um den Absturz zu analysieren und zu bestätigen, ob er mit der Schwachstelle zusammenhängt.Wenn Sie auf einen Absturz stoßen, können Sie gdb verwenden, um weitere Details zu erhalten:
gdb ./test_iconv
Innerhalb von GDB führen Sie das Programm aus:
run
Wenn das Programm abstürzt, können Sie den Zustand des Programms überprüfen:
bt
Dies liefert eine Rückverfolgung des Absturzes, die bei der Diagnose helfen kann, ob der Überlauf auf die CVE zurückzuführen ist.
Kompilieren Sie das Programm mit AddressSanitizer, um den Überlauf abzufangen:
gcc -fsanitize=address -o test_iconv test_iconv.c -liconv
./test_iconv
AddressSanitizer liefert detaillierte Informationen, falls ein Pufferüberlauf vorliegt.
Wenn die Schwachstelle bestätigt wird, erwägen Sie, glibc auf eine Version zu aktualisieren, in der dieses Problem behoben ist. Sie können die neueste Version von der Website des GNU-Projekts oder über den Paketmanager Ihrer Distribution herunterladen und installieren.
Weitere Einzelheiten zu dieser Schwachstelle finden Sie im folgenden Forschungsartikel: GLIBC-Fehler CVE-2024-2961 öffnet Tür für RCE, PoC-Exploit veröffentlicht
Dieser Code dient nur zu Bildungs- und Testzwecken. Verwenden Sie ihn nicht auf Systemen ohne entsprechende Autorisierung.