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-2022-34556 — Proof of Concept für CVE-2022-34556 | Kitploit
Tools/GitHubGitHub/halcy0nic/cve-2022-34556
SchwachstellenanalyseCode-AnalyseExploitationFuzzingBinäranalyseLernen & Bildung
GitHubhalcy0nic/cve-2022-34556

CVE-2022-34556

Proof of Concept für CVE-2022-34556

Repository anzeigen
1vor 3 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Beschreibung von CVE-2022-34556

In PicoC v3.2.2 wurde eine NULL-Pointer-Dereferenzierung in variable.c entdeckt. Alle Projekte oder Bibliotheken, die Picoc verwenden, sind ebenfalls von diesem Problem betroffen. Ein Beispiel dafür wäre picoc-js.

Einrichtung unserer Umgebung

Um die NULL-Pointer-Dereferenzierungs-Schwachstelle in PicoC zu reproduzieren, müssen wir zunächst eine verwundbare Version (v3.2.2) der PicoC-Bibliothek und des Interpreters herunterladen und kompilieren:

root@kitploit:~
git clone https://github.com/jpoirier/picoc.git
cd picoc
git checkout a97d94fa3d4d35c6b78b7de69faac7643e34de22
make

Reproduktionsschritte

Führen Sie den Interpreter im Skriptmodus gegen die in diesem Repository enthaltene Datei poc.c aus:

root@kitploit:~
$ ./picoc -s poc.c

Sie werden einen Segfault erhalten und das Programm wird abstürzen. Dies ist das Ergebnis einer NULL-Pointer-Dereferenzierung, die von der Bibliothek oder dem Interpreter nicht abgefangen oder behandelt wird. Wir können das Projekt mit Address Sanitizer (ASAN) neu kompilieren, um eine bessere Vorstellung davon zu bekommen, wo dies geschieht. Fügen wir -fsanitize=address zur CFLAGS-Variable in der Makefile hinzu und kompilieren wir die Bibliothek neu:

root@kitploit:~
CFLAGS=-Wall -g -std=gnu11 -pedantic -DUNIX_HOST -DVER=\"`git show-ref --abbrev=8 --head --hash head`\" -DTAG=\"`git describe --abbrev=0 --tags`\" -fsanitize=address

Kompilieren Sie die Bibliothek und den Interpreter neu (aus dem picoc-Wurzelverzeichnis):

root@kitploit:~
make clean
make

Wenn wir unser Programm ausführen, erhalten wir die folgende ASAN-Ausgabe, die uns zeigt, dass die NULL-Pointer-Dereferenzierung in Zeile 519 in variable.c stattfindet:

ASAN-Ausgabe:

root@kitploit:~
AddressSanitizer:DEADLYSIGNAL
=================================================================
==157769==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000018 (pc 0x55b55571240e bp 0x7ffe4f5c39b0 sp 0x7ffe4f5c3980 T0)
==157769==The signal is caused by a READ memory access.
==157769==Hint: address points to the zero page.
    #0 0x55b55571240e in VariableDereferencePointer /dev/shm/picoc/variable.c:519
    #1 0x55b5556fefea in ExpressionStackPushDereference /dev/shm/picoc/expression.c:430
    #2 0x55b555701881 in ExpressionPrefixOperator /dev/shm/picoc/expression.c:687
    #3 0x55b5557053d5 in ExpressionStackCollapse /dev/shm/picoc/expression.c:1257
    #4 0x55b555706e35 in ExpressionParse /dev/shm/picoc/expression.c:1553
    #5 0x55b5556fb6a0 in ParseStatement /dev/shm/picoc/parse.c:646
    #6 0x55b5556fd380 in PicocParse /dev/shm/picoc/parse.c:897
    #7 0x55b555715d0e in PicocPlatformScanFile platform/platform_unix.c:129
    #8 0x55b5556ec213 in main /dev/shm/picoc/picoc.c:62
    #9 0x7f15bd767189 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
    #10 0x7f15bd767244 in __libc_start_main_impl ../csu/libc-start.c:381
    #11 0x55b5556ebd40 in _start (/dev/shm/picoc/picoc+0x16d40)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /dev/shm/picoc/variable.c:519 in VariableDereferencePointer
==157769==ABORTING

Verwundbarer Quellcode:

root@kitploit:~
519: *DerefType = PointerValue->Typ->FromType;

Referenzen

  • https://owasp.org/www-community/vulnerabilities/Null_Dereference
  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-34556
Tool herunterladen