VDB
Sign up
MEDIUM6.1

GHSA-393x-fr59-r8fg

statics-server Cross-site Scripting vulnerability

Details

An XSS in statics-server <= 0.0.9 can be used via injected iframe in the filename when statics-server displays directory index in the browser. Statics-server does not implement any HTML escaping when displays directory index in the browser. Variable `v` is used in `<a href>` element without escaping, which allows to embed HTML `<iframe>` tag with `src` attribute points to another HTML file in the directory. This file can contain malicious JavaScript code, which will be executed:

```js // ./node_modules/statics-server/index.js, line 18:

if(fs.lstatSync(staticPath).isDirectory()){ var files=fs.readdirSync(staticPath); var lis=''; files.forEach((v,i)=>{ if(fs.lstatSync(path.resolve(staticPath,v)).isDirectory()){ lis+=`<li><a href="${req.url}${v}/">${v}/</a></li>`; }else { lis+=`<li><a href="${req.url}${v}">${v}</a></li>` } });

(...) ```

Are you affected?

Enter the version of the package you're using.

Affected packages

npm/statics-server
Introduced in: 0

No fixed version published yet for statics-server (npm). Pin to a known-safe version or switch to an alternative.

References