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
drupal-htmx-attr — Drupal 11.4.8 – Hoch – Remote – XSS – AttributeXss erlaubt weiterhin HTMX-Attribute | Kitploit
Tools/GitHubGitHub/abraxas/drupal-htmx-attr
SchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstestsLabs & Praxis
GitHubabraxas/drupal-htmx-attr

drupal-htmx-attr

Drupal 11.4.8 – Hoch – Remote – XSS – AttributeXss erlaubt weiterhin HTMX-Attribute

Repository anzeigen
vor 3 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 - drupal-htmx-attr

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  drupal-htmx-attr

drupal-htmx-attr

Klasse: Stored XSS Reichweite: Remote

Drupal core 11.4.8 (61044508) - Drupal

SA-CORE-2026-011 hat HTMX-Attribute in Xss::attributes() geschlossen. Link- und Menü-Attribute laufen durch AttributeXss::sanitizeAttributes, und diese Skip-Liste entfernt weiterhin nur style und on*.

Ein Content-Editor, der ein Link-Feld (oder einen Menü-Link) setzen kann, kann hx-on-click oder data-hx-on-click speichern. Standard plus BigPipe lädt core/htmx. Wenn ein Admin oder ein anderer Betrachter diesen Node öffnet und auf den Link klickt, führt HTMX das gespeicherte JS im Ursprung der Website aus.

IDnoch keine CVE
KlasseStored XSS (HTMX-Event-Attribute)
ReichweiteRemote (authentifizierter Link-Feld-/Menü-Schreiber; Opfer betrachtet und klickt)
CWECWE-79
CVSSHigh: 8.7 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
ProduktDrupal core
Betroffen11.4.8 (61044508071749629aaf3380aa85971e94df9e84)
Authauthentifizierter Benutzer, der ein Link-Feld (oder Menü-Link) schreiben kann. Opfer betrachtet die Seite und klickt.
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1

Was ein Angreifer tun kann

Schreiber: ein Content-Editor, der Link-options.attributes setzen kann (Link-Feld, Menü-Link, JSON:API). Opfer: jeder, dessen Seite HTMX lädt (Standard + BigPipe lädt core/htmx), einschließlich eines Site-Admins, der auf den Link klickt.

PrivilegMethode / PfadArtLab-bewiesen oder abgeleitet
HTMX-Event-Attribute auf einem Link persistierenPOST /jsonapi/node/article mit field_link.options.attributes.hx-on-click und data-hx-on-clickIntegrität des gespeicherten FeldsLab-bewiesen. JSON:API 201, gespeicherte Attribute enthalten weiterhin hx-on-click
Diese Attribute im Node-<a> ausgebenLinkFormatter -> AttributeXss::sanitizeAttributesIntegrität des HTMLLab-bewiesen. GET /node/1 HTML enthält hx-on-click und den Marker window['DRUPAL-HTMX-ATTR-WITNESS']=1
Dieses JS im Ursprung des Opfers ausführen, wenn es klicktHTMX bindet hx-on-*Integrität der Opfer-SessionAbgeleitet aus HTMX + der Seite, die core/htmx lädt. Lab hat keinen Browser-Klick ausgeführt
Als Betrachter agieren (Session-Cookie, Admin-UI-Klicks)Dasselbe Stored XSSIntegrität der Opfer-SessionAbgeleitet. Lab endet beim Attribut, das im HTML verbleibt
Negativ: Xss::filterXss::filter('<a ... hx-on-click=...>')GeschlossenLab-bewiesen geschlossen. xss_keeps_hx=False
Unauthentifiziertes Schreiben des LinksJSON:API ohne SessionGeschlossenLab war zuerst als uid 1 angemeldet. Ein Fremder ohne Konto kann das Feld nicht setzen
PHP RCE / LPEn/aGeschlossenDieser Rest ist Browser-JS, nicht PHP auf dem Server

Gleicher Pin-Rest: Move Block sibling markup.

Wie ich es gefunden habe

Ich habe drupal/drupal 11.4.8 nach SA-CORE-2026-011 gepinnt. Fünf Suchen: XSS/HTMX, Datei/MIME/oEmbed, JSON:API/unserialize/SQLi, Auth/CSRF/Host, REST/Media/Views. JSON:API-Zugriff, EntityQuery-IN-Keys (SA-004), serialized-field POI (SA-005) und rebuild.php Host (SA-007) bleiben gepatcht. Die HTMX-Skip-Liste landete nur in Xss.php.

$skip = (
  in_array($attribute_name, ['style', 'srcdoc']) ||
  str_starts_with($attribute_name, 'on') ||
  str_starts_with($attribute_name, 'data-hx') ||
  str_starts_with($attribute_name, 'hx') ||
  str_starts_with($attribute_name, '-') ||
  strlen($attribute_name) > 96
);

AttributeXss.php-Rest:

$skip = (
  $attribute_name == 'style' ||
  str_starts_with($attribute_name, 'on') ||
  str_starts_with($attribute_name, '-') ||
  strlen($attribute_name) > 96
);

Aufrufer umfassen LinkFormatter.php und MenuLinkContent::getUrlObject().

Bereits dokumentierte Irrwege: Xss::filter als Rest zu behandeln (es ist die Kontrolle); unauth JSON:API-Schreibzugriff; PHP RCE; eine Reverse Shell. Theater. Das Orakel ist das Attribut, das im Node-HTML verbleibt, plus geladenes core/htmx.

Lab

python3 drupal-htmx-attr-Abraxas-Labs.py

oder

cd lab
./run.sh

Ziel nur http://127.0.0.1:19480. Live drupal:11.4.8-apache, Standard-Profil, JSON:API-Schreibzugriff für das Lab aktiviert. Compose-Projekt drupal-htmx-attr.

SUCCESS drupal-htmx-attr how=live write=jsonapi nid=1 hx-on-click=kept jsonapi-stored=1 xss-filter=stripped htmx=loaded marker=1 version=11.4.8 DRUPAL-HTMX-ATTR-WITNESS

Der Fix

Kopiere die hx / data-hx / srcdoc-Denylist in AttributeXss. Führe sie in Xss zusammen, wie es der Klassen-Docblock bereits sagt.

Referenzen

  • github.com/drupal/drupal Tag 11.4.8 (61044508071749629aaf3380aa85971e94df9e84)
  • AttributeXss.php · Xss.php
  • In der Nähe gepatcht: SA-CORE-2026-011
  • Gleicher Pin: drupal-move-block-markup
  • CWE-79

Lizenz

GNU Affero GPL v3.0. Siehe LICENSE. Nur Loopback-Lab. Keine Gewährleistung.

Tool herunterladen