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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
plausible-editor-invite — Plausible Analytics master d44e104 – Hoch – Remote – Verbleibende Berechtigungen – Editor-Leute HTML-Leck-Übertragung nanoid | Kitploit
Tools/GitHubGitHub/abraxas/plausible-editor-invite
Privilege EscalationSchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstestsLabs & Praxis
GitHubabraxas/plausible-editor-invite

plausible-editor-invite

Plausible Analytics master d44e104 – Hoch – Remote – Verbleibende Berechtigungen – Editor-Leute HTML-Leck-Übertragung nanoid

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

Abraxas Labs - plausible-editor-invite

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  plausible-editor-invite

plausible-editor-invite

Plausible Analytics Community Edition, GitHub-Master d44e104ae3943a9240d5cb6b62e67dff0f069d3a (2026-10-16) – Plausible Insights OÜ

Klasse: Privilegien-Rest (Leak von Einladungs-Tokens). Reichweite: Remote (Gast-Editor oder Team-Editor der jeweiligen Site).

Sites.list_people/1 selektiert rohe guest_invitations.invitation_id und team_site_transfers.transfer_id. settings_people.html.heex setzt diese 21-stellige Nanoid in id="invitation-#{invitation.invitation_id}" für jede ausstehende Zeile. Die Personen-Einstellungen sind nicht in SiteController @special_cased_actions enthalten, daher erlaubt AuthorizeSiteAccess :editor. Gast-Editor wird auf die Site-Rolle :editor abgebildet. Gast-Viewer erhalten 404.

Nanoid.generate/0 ist der Bearer zum Registrieren aus einer Einladung. Unauth GET /register/invitation/:invitation_id sucht ausschließlich per ID. LiveView register überschreibt die übermittelte E-Mail mit invitation.email. Die Standard-CE verwendet DISABLE_REGISTRATION=invite_only und ENABLE_EMAIL_VERIFICATION=false. Die Annahme erfolgt über POST /sites/invitations/:id/accept per citext-E-Mail-Abgleich.

Ein Gast-Editor, der bereits das People-HTML sehen kann, liest eine ausstehende Nanoid für eine Eigentumsübertragung, registriert sich als Eingeladener und nimmt an. Die Site wandert auf das persönliche Team des Angreifers.

IDnoch keine CVE
CWECWE-200 / CWE-269
CVSSHoch: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L
ProduktPlausible Analytics
BetroffenGitHub-Master d44e104ae3943a9240d5cb6b62e67dff0f069d3a (2026-10-16). Der letzte CE-Tag v3.2.1 (e4f5a87a5570bd61605217e7ceb376636db8eddb, 2026-05-15) liegt fünf Monate zurück. SECURITY.md weist Betreiber an, :latest zu verwenden. Der Pin entspricht dem aktuellen HEAD. CE MIX_ENV=ce kompiliert nur lib/.
Authauthentifizierter Gast-Editor (:guest_member, :editor) oder Team-Editor der jeweiligen Site. Nicht unauth. Nicht Gast-Viewer.
LizenzGNU Affero GPL v3.0
Lab127.0.0.1:18180 (http) 18181 (postgres) 18182 (clickhouse http) only

Rest #1 von Plausible Analytics leftovers. Gleicher Pin, anderes Paket: plausible-traffic-notify (PUT traffic-change-notification site_id Mass-Assignment). Dieses Paket ist dasjenige, das eine ausstehende Eigentumsübertragung stiehlt.

Was ein Angreifer tun kann

Authentifizierter Gast-Editor oder Team-Editor einer Site, die eine ausstehende Gast-Einladung und/oder Eigentumsübertragung hat. Benötigt ein normales Session-Cookie. Kein Owner, kein Admin, kein Super-Admin-LiveView. Sie brute-forcen die 21-stellige Nanoid nicht. Sie lesen sie aus dem HTML, das sie laden dürfen, und registrieren sich dann als Eingeladener.

Privilegientabelle (vollständig). Gleicher Maßstab wie Signal-Server Dropwizard admin: Methode + Pfad, was dieser Aufruf gewährt, Recon vs. Integrität vs. Verfügbarkeit, im Lab nachgewiesen vs. abgeleitet, angrenzende Oberfläche, die geschlossen bleibt.

AchseMethode + PfadGewährtProvenienz
ReconGET /:domain/settings/people als Gast/Team-EditorAusstehende Zeilen rendern id="invitation-<nanoid>". Nanoid ist invitation_id oder transfer_id. Nur dieselbe Site. Die E-Mail des Eingeladenen steht ebenfalls in der Tabelle.Lab-proven. Editor people 200 leaked nanoid Hc8DiBC2q08mv5LFmBysu
Reconunauth GET /register/invitation/:idE-Mail des Eingeladenen im Registrierungsformular. Lookup erfolgt nur per id (find_by_id_unified).Lab-proven. Register HTML showed [email protected]
IntegrityLiveView register auf /register/invitation/:idGepostetes user[email] wird mit invitation.email überschrieben. Neues CE-Konto an der Adresse des Eingeladenen. Standardmäßige CE-E-Mail-Verifizierung aus. Invite-only erlaubt weiterhin :invitation.Lab-proven. Posted [email protected]; stored email was [email protected]
IntegrityPOST /sites/invitations/:id/accept als dieses neue KontoAusstehende Eigentumsübertragung verschiebt sites.team_id auf das persönliche Team des newowner. Transfer-Zeile ist weg.Lab-proven. sites.team_id 1 → 2
Integritygleiches accept bei einer ausstehenden Gast-Einladung für diese E-MailNeue Mitgliedschaft auf dieser Site (editor-for-editor ist kein Gewinn). Andere ausstehende Team-/Gast-/Transfer-Zeilen für diese E-Mail werden ebenfalls accept-able.Quelle (InvitationController.accept_invitation)
Availabilitynach Transfer-acceptUrsprüngliches Team verliert die Site. Stats liefern weiterhin auf dem neuen Team.Lab-proven. team_id moved

Bleibt geschlossen bei diesem Pin

AchseMethode + PfadWarum geschlossen
ReconGast-Viewer GET /:domain/settings/people404. Viewer ist nicht :editor. Lab-proven.
IntegrityEditor POST /sites/invitations/:id/accept der geleakten Transfer-idE-Mail-Übereinstimmung. Editor ist nicht [email protected]. Site bleibt bei Team 1. Lab-proven.
Integrityunauth register ohne gültige Einladungs-idcheck_registration_enabled(:default) vs :invitation. whoareme Bug 02, gepatcht.
Recon21-Zeichen-Nanoid-BruteURL-sicheres Alphabet, 21 Zeichen. Außerhalb dieses Leftovers.
ReconClickHouse-Events, SMTP, people-Seiten anderer SitesNur dieselbe Site. Kein ClickHouse-Admin. Kein Mailbox-Lesen.
IntegrityOwner/Admin-Invite und -TransferSie können es bereits. Dieser Leftover betrifft den Editor, der es nicht kann.
IntegritySuper-Admin-LiveView, OS-Shell, extra/lib EE SSOGeschlossen. CE-Lab. Keine Shell.

Ich behaupte nicht unauthentifizierte Account-Übernahme eines bereits registrierten Nutzers, eine Reverse Shell oder einen ClickHouse-Dump. Die High-Instanz ist ein ausstehender Owner-Transfer (oder Einladungen zu anderen Sites/Teams für diese E-Mail) auf Standard-CE: invite-only plus E-Mail-Verifizierung aus. EE setzt immer email_verified: false und /activate benötigt das Postfach des Eingeladenen.

Wie ich es gefunden habe

whoareme Bug 02 (offengelegt am 2026-05-22) schloss invite-only LiveView register ohne gültige Einladung sowie Shield/Goal site_id-Mass-Assignment. Ich habe mich trotzdem auf den aktuellen Master gesetzt. SECURITY.md patcht nur die neueste MAJOR.MINOR und weist Betreiber an, :latest auszuführen. Der letzte CE-Tag v3.2.1 ist fünf Monate hinter HEAD.

Tool herunterladen