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-36834 — Reproduzierbarer Proof-of-Concept für CVE-2026-36834, der einen Out-of-Bounds-Array-Lesevorgang im Panasonic-RW2-Decoder von LibRaw demonstriert, mit Mutationsskript und sanitizer-basierter Crash-Reproduktion. | Kitploit
Tools/GitHubGitHub/kpatsakis/cve-2026-36834
SpeicherforensikSchwachstellenanalyseFuzzingBinäranalysePapers & ForschungLernen & Bildung
GitHubkpatsakis/cve-2026-36834

CVE-2026-36834

Reproduzierbarer Proof-of-Concept für CVE-2026-36834, der einen Out-of-Bounds-Array-Lesevorgang im Panasonic-RW2-Decoder von LibRaw demonstriert, mit Mutationsskript und sanitizer-basierter Crash-Reproduktion.

Repository anzeigen
3vor 2 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

Zusammenfassung

Ein aus dem Gültigkeitsbereich laufender Array-Zugriff (Out-of-Bounds Read) existiert in src/decoders/pana8.cpp. Die Funktion GetDBit() kann den Wert 17 zurückgeben, wenn keine Huffman-Tabellenübereinstimmung gefunden wird, aber huff_coeff[] ist nur mit 17 Elementen deklariert (gültige Indizes 0-16). Dies führt zum Zugriff auf huff_coeff[17], was undefiniertes Verhalten auslöst, bestätigt durch UBSan und AddressSanitizer.

Auswirkungen

Anwendungen, die benutzergelieferte RW2-Dateien verarbeiten, wie Bildbearbeitungs- oder Fotoverwaltungswerkzeuge, die LibRaw nutzen, könnten abstürzen oder potenziell Prozessspeicher durch das Öffnen einer schädlichen Datei preisgeben.

CWE: CWE-125 (Lesen außerhalb des gültigen Bereichs), CWE-129 (Unzureichende Validierung des Array-Index) CVSS v3.1: AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H (~6.5 Medium)

Git commit: 777f20ae21c611a78021bd051fbbf1e71eae78f2

Betroffener Code

Datei: src/decoders/pana8.cpp Funktion: pana8_param_t::DecodeC8()

Die Ursache liegt in GetDBit():

root@kitploit:~
  uint32_t pana8_param_t::GetDBit(uint64_t a2)
  {
      for (int i = 0; i < 16; i++)
          if ((a2 & hufftable2[i]) == hufftable1[i])
              return i;
      return uint32_t((hufftable2[16] & a2) == hufftable1[16]) ^ 0x11u;
      // When comparison is false: returns 0 ^ 17 = 17
  }

Der Rückgabewert wird dann direkt als Array-Index verwendet, ohne Grenzprüfung:

root@kitploit:~
  huff_index = int(GetDBit(pixbits));          // can be 17
  int32_t v37 = (huff_coeff[huff_index] >> 24) // line 250: OOB
  uint32_t hc = huff_coeff[huff_index];        // line 251: OOB
  // ... and lines 254, 273

Bestätigte Aufrufkette (UBSan-Ausgabe) LibRaw::unpack() -> panasonicC8_load_raw() pana8.cpp:125 -> pana8_decode_loop() pana8.cpp:132 -> pana8_decode_strip() pana8.cpp:155 -> DecodeC8() pana8.cpp:250 <-- OOB ausgelöst

UBSan-Fehler ausgelöst: pana8.cpp:250 index 17 out of bounds for type 'unsigned int [17]' pana8.cpp:251 index 17 out of bounds for type 'unsigned int [17]' pana8.cpp:254 index 17 out of bounds for type 'unsigned int [17]' pana8.cpp:254 shift exponent -17 is negative pana8.cpp:273 index 17 out of bounds for type 'unsigned int [17]' pana8.cpp:303 left shift of negative value -1

Reproduktion

LibRaw mit Sanitizern bauen:

root@kitploit:~
  ./configure CXXFLAGS="-fsanitize=address,undefined -g -O1" \
            LDFLAGS="-fsanitize=address,undefined"
  make -j$(nproc)

Das Mutator-Skript gegen eine beliebige Panasonic-RW2-Datei ausführen:

root@kitploit:~
  python3 mutate_rw2.py input.rw2 mutated_pana8.rw2
  ASAN_OPTIONS=halt_on_error=0:print_stats=1 ./bin/dcraw_emu -v mutated_pana8.rw2

Patch

https://github.com/LibRaw/LibRaw/commit/02da167e0f819a37dbb7d714e87c5b40df6c5917

Tool herunterladen