Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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-33146 — Eine öffentliche Freigabe sah im Seitenbaum sauber aus, aber der Such-Endpunkt erzählte eine andere Geschichte. In Docmost konnten eingeschränkte Unter-/Kinder-Seiten, die für Betrachter öffentlicher Freigaben verborgen waren, dennoch über öffentliche Freigabe-Suchergebnisse durchsickern. | Kitploit
Tools/GitHubGitHub/0xmrma/cve-2026-33146
SchwachstellenanalyseInformationsbeschaffungWebsicherheitPenetrationstestsPapers & ForschungLernen & Bildung
GitHub0xmrma/cve-2026-33146

CVE-2026-33146

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

Über

Eine öffentliche Freigabe sah im Seitenbaum sauber aus, aber der Such-Endpunkt erzählte eine andere Geschichte. In Docmost konnten eingeschränkte Unter-/Kinder-Seiten, die für Betrachter öffentlicher Freigaben verborgen waren, dennoch über öffentliche Freigabe-Suchergebnisse durchsickern.

Teilen

CVE-2026-33146

Eine öffentliche Freigabe sah im Seitenbaum sauber aus, aber der Such-Endpoint erzählte eine andere Geschichte. In Docmost konnten eingeschränkte untergeordnete Seiten, die vor öffentlichen Freigabebetrachtern verborgen waren, dennoch über die öffentlichen Freigabe-Suchergebnisse durchsickern.

Einleitung

Ich fand dieses Problem bei der Überprüfung von Docmost, einer Open-Source-Plattform für kollaborative Wikis und Dokumentation, mit einer sehr einfachen Frage:

Wenn eine Seite absichtlich vor einem öffentlichen Freigabebetrachter verborgen wird, respektiert dann jedes öffentliche Feature dieselbe Einschränkungsgrenze?

In diesem Fall lautete die Antwort nein.

Eine eingeschränkte untergeordnete Seite konnte im öffentlichen Freigabebaum verborgen bleiben, während sie dennoch über den öffentlichen Freigabe-Such-Endpoint durchsickerte.

Das Problem wurde akzeptiert und erhielt die CVE-2026-33146.

Docmost: Docmost auf GitHub
CVE: CVE-2026-33146

Die offizielle Website von Docmost präsentiert es als ein unternehmensreifes On-Premises-Wiki mit 3 Mio.+ Downloads und gibt an, dass es von Teams in Organisationen wie Vilnius City, Bechtle, der australischen Regierung, dem Roten Kreuz und ETS Quebec verwendet wird.

photo0

Angriffskette

öffentliche übergeordnete Freigabe mit aktivierten Unterseiten → eingeschränkter Nachkomme aus dem öffentlichen Baum ausgeschlossen → Angreifer fragt öffentliche Freigabe-Suche ab → Titel und Ausschnitt der eingeschränkten untergeordneten Seite werden preisgegeben


Was Docmost tut

Docmost ist eine kollaborative Wiki- und Dokumentationsplattform.

Es bietet:

  • freigegebene Seiten
  • öffentliche Freigabelinks
  • verschachtelte Seitenbäume
  • Organisation von Inhalten auf Arbeitsbereichs- und Bereichsebene
  • Suche über freigegebene Inhalte

Das bedeutet, dass das öffentliche Freigabemodell eine echte Sicherheitsgrenze darstellt.

Die wichtige Frage war hier nicht, ob Docmost Seiten öffentlich teilen kann.

Die eigentliche Frage war:

Wenn Docmost entscheidet, dass eine untergeordnete Seite eingeschränkt ist und für einen öffentlichen Freigabebesucher nicht sichtbar sein soll, gilt diese Einschränkung dann überall im öffentlichen Freigabefluss?

In diesem Fall tat es das nicht.


Warum dieser Fehler einen Blick wert war

Viele Sicherheitsüberprüfungen stoppen zu früh, sobald sie eine in der Benutzeroberfläche verborgene Seite sehen.

Das reicht nicht aus.

Die stärkere Frage ist diese:

Setzt jeder Backend-Pfad dieselbe Sichtbarkeitsentscheidung durch?

Das ist wichtig, weil Sicherheitsgrenzen nicht durch das Aussehen der Schnittstelle definiert werden.
Sie werden dadurch definiert, was der Server tatsächlich zurückgibt.

Hier verhielt sich der öffentliche Baum-Endpoint sicher:

  • eingeschränkte Nachkommen waren versteckt

Aber der öffentliche Freigabe-Suchpfad verhielt sich anders:

  • eingeschränkte Nachkommen beeinflussten weiterhin die Ergebnisse
  • ihre Titel wurden preisgegeben
  • ihre hervorgehobenen Inhaltsausschnitte wurden preisgegeben

Das machte dies zu einem echten Problem der Autorisierungs- und Informationsoffenlegung, nicht nur zu einer Inkonsistenz der Darstellung.


Die Grenze, auf die ich mich konzentrierte

Ich bin nicht an Docmost herangegangen, indem ich zufällig Routen gefuzzt und darauf gehofft habe, dass etwas Interessantes auftaucht.

Der stärkere Weg war, zuerst eine Vertrauensgrenze zu wählen.

Für Anwendungen, die Folgendes unterstützen:

  • öffentliches Teilen
  • verschachtelte Objekte
  • Seitenspezifische Einschränkungen
  • Inhaltssuche

ist eine der besten Fragen:

Setzt die Suchebene genau dieselbe Autorisierungsgrenze durch wie die Navigationsebene?

Diese Frage wird besonders wertvoll, wenn:

  • ein übergeordnetes Objekt öffentlich ist
  • Nachkommen unterschiedliche Sichtbarkeitsregeln haben
  • die Suche über einen separaten Servicepfad implementiert wird

Genau dort zeigte sich dieses Problem.


Ursache

Der Fehler lag nicht darin, dass Docmost die eingeschränkte Seite im normalen öffentlichen Baum nicht versteckt hat.

Der Fehler lag darin, dass die öffentliche Suche diese gleiche Einschränkungslogik nicht beachtet hat.

Aus der Quellcode-Überprüfung verwendete der öffentliche Baumfluss eine einschränkungsbewusste Traversierung der Nachkommen.

Relevanter Bereich:

  • apps/server/src/core/share/share.service.ts

Dieser Pfad schloss eingeschränkte Nachkommen absichtlich aus, indem er Folgendes verwendete:

  • getPageAndDescendantsExcludingRestricted(...)

Aber der öffentliche Freigabe-Suchfluss folgte einem anderen Pfad.

Relevante Bereiche:

  • apps/server/src/core/search/search.controller.ts
  • apps/server/src/core/search/search.service.ts

Dort sammelte der Code Nachkommen mit:

  • getPageAndDescendants(...)

Das bedeutete, dass eingeschränkte Nachkommen für die Suche im Geltungsbereich blieben.

Im öffentlichen Freigabekontext ist das sehr wichtig, da der Suchzweig ohne einen normalen authentifizierten Benutzerberechtigungskontext läuft. Sobald eingeschränkte Nachkommen in die durchsuchbare Seitenmenge aufgenommen wurden, konnten ihre Metadaten über die Antwort durchsickern.

Warum dies ausnutzbar ist

Weil der Angreifer kein authentifiziertes Konto benötigt.

Er benötigt nur:

  • einen gültigen öffentlichen Freigabeschlüssel
  • in der Freigabe enthaltene Unterseiten
  • Kenntnis oder Vermutungen über Suchbegriffe, die wahrscheinlich in versteckten Nachkommen vorkommen

Sobald diese Bedingung erfüllt ist, kann ein öffentlicher Besucher den Freigabe-Such-Endpoint abfragen und folgende Informationen abrufen:

  • versteckte Seitentitel
  • hervorgehobene Textausschnitte
  • den Nachweis, dass eine eingeschränkte untergeordnete Seite unter der freigegebenen übergeordneten Seite existiert

Das reicht aus, um eine Vertraulichkeitslücke zu schaffen, selbst wenn der vollständige Seiteninhalt nicht zurückgegeben wird.


Was dies zu einem Sicherheitsproblem macht, nicht nur zu unterschiedlichem Endpoint-Verhalten

Der wichtige Unterschied ist, dass die Anwendung das beabsichtigte Sicherheitsmodell bereits klar signalisiert.

Der öffentliche Baum-Endpoint verbirgt eingeschränkte Nachkommen.

Die eigentliche Frage ist also nicht:

„Gibt die Suche zufällig eine breitere Ergebnismenge zurück?“

Die eigentliche Frage ist:

„Verletzt die Suche eine Autorisierungsentscheidung, die bereits anderswo für dieselbe öffentliche Freigabegrenze durchgesetzt wird?“

Bei Docmost war das der Fall.

Das verwandelt dies von:

  • inkonsistenter Funktionalität

in:

  • inkonsistente Zugriffskontroll-Durchsetzung

Deshalb ist dies eine echte Schwachstelle.


PoC

Ich habe das Problem validiert, indem ich die beiden relevanten öffentlichen Endpoints nebeneinander verglich.

Fall 1: Öffentlicher Baum verbirgt die eingeschränkte untergeordnete Seite korrekt

Zuerst testete ich den normalen öffentlichen Baum-Endpoint mit dem öffentlichen Freigabeschlüssel.

Beispielanfrage:

POST /api/shares/tree HTTP/1.1
Host: 127.0.0.1:6752
Content-Type: application/json

{
  "shareId": "public-share-key"
}

Die Antwort gab nur die öffentliche untergeordnete Seite im Seitenbaum zurück.

Repräsentatives Ergebnis:

{
  "pageTree": [
    {
      "id": "public-child",
      "title": "Public roadmap"
    }
  ]
}

Damit war das erwartete Produktverhalten festgelegt:

  • das eingeschränkte Kind war absichtlich vor dem öffentlichen Besucher verborgen

Fall 2: Öffentliche Freigabe-Suche gibt die eingeschränkte untergeordnete Seite dennoch preis

Dann fragte ich den öffentlichen Freigabe-Such-Endpoint mit einem Begriff ab, der im eingeschränkten Nachkommen vorkam.

Beispielanfrage:

Tool herunterladen