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-32945 — PJSIP DNS-Komprimierungszeiger Heap-Out-of-Bounds-Read (Remote DoS) | Kitploit
Tools/GitHubGitHub/johanneslks/cve-2026-32945
Dynamische Analyse (Sandboxing)SchwachstellenanalyseExploitationFuzzingBinäranalyse
GitHubjohanneslks/cve-2026-32945

CVE-2026-32945

PJSIP DNS-Komprimierungszeiger Heap-Out-of-Bounds-Read (Remote DoS)

Repository anzeigen
vor 4 MonatenNoch 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

CVE-2026-32945

PJSIP DNS-Komprimierungszeiger Heap-OOB-Read (Remote DoS)

Beschreibung

get_name_len() und get_name() in pjlib-util/src/pjlib-util/dns.c lesen einen 2-Byte-DNS-Komprimierungszeiger über pj_memcpy(&offset, p, 2), ohne zu prüfen, dass beide Bytes innerhalb des Paketpuffers liegen. Wenn ein 0xC0-Byte (Komprimierungszeiger-Marker) das allerletzte Byte einer DNS-Antwort ist, liest das memcpy ein Byte über die Heap-Allokationsgrenze hinaus.

Eine einzelne manipulierte 20-Byte-DNS-Antwort löst den OOB-Read aus und bringt jede PJSIP-Anwendung (einschließlich Asterisk und FreeSWITCH) zum Absturz, die einen Domainnamen über einen netzwerkgesteuerten DNS-Server auflöst.

ASan bestätigt: heap-buffer-overflow READ of size 2, 0 bytes after 20-byte region in .

get_name_len()

Dies ist die dritte DNS-Parser-CVE in pjprojects dns.c seit 2022 (nach CVE-2022-24793 und CVE-2023-27585). Der CVE-2022-24793-Fix fügte Längenprüfungen im gesamten Parser hinzu, übersah jedoch den Komprimierungszeiger-Pfad.

Betroffen: pjproject <= 2.16. Behoben in pjproject 2.17 (Commit 5311aee).

Verwendung

root@kitploit:~
# Eigenständige ASan-Harness (keine pjproject-Installation erforderlich):
./run.sh

# Oder manuell bauen und ausführen:
gcc -fsanitize=address,undefined -g -O0 harness.c -o harness
./harness

# Netzwerk-PoC -- Schurken-DNS-Server:
python3 poc.py --port 5353
# Dann eine PJSIP-Anwendung auf den Schurken-Server ausrichten:
#   pjsua --nameserver 127.0.0.1:5353 sip:[email protected]

# Docker (baut pjproject 2.16 aus dem Quellcode mit ASan):
docker compose build
docker compose run harness

Anforderungen

  • Für eigenständige Harness: gcc mit AddressSanitizer-Unterstützung
  • Für Netzwerk-PoC: Python 3 (nur Standardbibliothek, keine externen Abhängigkeiten)
  • Für Docker: Docker + Docker Compose

Dateien

DateiBeschreibung
harness.cEigenständige ASan-Harness -- implementiert die verwundbare get_name_len() mit exakten pjproject-Typen neu
harness_pjlib.cAlternative Harness, die die echte pj_dns_parse_packet() aufruft (für Docker)
poc.pySchurken-DNS-Server -- antwortet auf jede Abfrage mit dem manipulierten 20-Byte-Paket
run.shBaut und führt die ASan-Harness aus
DockerfileBaut pjproject 2.16 aus dem Quellcode mit ASan
docker-compose.ymlDocker-Setup für die pjlib-Harness
proof_output.txtVollständige ASan-Ausgabe aus der Live-Verifizierung

Referenzen

  • https://github.com/pjsip/pjproject/security/advisories/GHSA-jr2p-p2w4-rr9q
  • https://github.com/pjsip/pjproject/commit/5311aee398ae9d623829a6bad7b679a193c9e199

Rechtlicher Hinweis

Dieses Projekt wird unter der GNU GPLv3 veröffentlicht.

Es wird für defensive Sicherheitsforschung, Bildung und autorisierte Tests bereitgestellt. Verwenden Sie diesen Code nicht gegen Systeme oder Dienste ohne ausdrückliche Genehmigung des Eigentümers.

Unbefugte Nutzung kann gegen geltendes Recht verstoßen. Die Autoren erteilen keine Erlaubnis zum Testen von Drittsystemen und sind nicht für Missbrauch verantwortlich.

Siehe die LICENSE-Datei für Gewährleistungs- und Haftungsbedingungen.

Tool herunterladen