<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-08T20:18:55.699058+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/fkie_cve-2024-39918</id>
    <title>fkie_cve-2024-39918</title>
    <updated>2026-10-08T20:18:56.036486+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>@jmondi/url-to-png is an open source URL to PNG utility featuring parallel rendering using Playwright for screenshots and with storage caching via Local, S3, or CouchDB. Input of the `ImageId` in the code is not sanitized and may lead to path traversal. This allows an attacker to store an image in an arbitrary location that the server has permission to access. This issue has been addressed in version 2.1.2 and all users are advised to upgrade. There are no known workarounds for this vulnerability.</p>
      </div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/fkie_cve-2024-39918"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-vvmv-wrvp-9gjr</id>
    <title>GHSA-vvmv-wrvp-9gjr — @jmondi/url-to-png contains a Path Traversal vulnerability</title>
    <updated>2026-10-08T20:18:56.036585+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> npm: @jmondi/url-to-png</p>
<p>### Summary
When trying to add a `BLOCK_LIST` feature when the maintainer noticed they didn't sanitize the `ImageId` in the code, which leads to path traversal vulnerability. Now, this is different from a traditional path traversal issue, because as of NOW you can store the image in any place arbitrarily, and given enough time they might be able to come up with a working exploit BUT for the time being they am reporting this.</p>
<p>### Details</p>
<p>@jmondi/url-to-png does not sanitizing the `ImageID` as in not removing special chars from the params [(extract_query_params.ts#l75)](https://github.com/jasonraimondi/url-to-png/blob/e43098e0af3a380ebc044e7f303a83933b94b434/src/middlewares/extract_query_params.ts#L75)</p>
<p>```js
const imageId = dateString + "." + slugify(validData.url) +configToString(params);
```</p>
<p>This when fed to other parts of the code such as ([filesystem.ts#L34](https://github.com/jasonraimondi/url-to-png/blob/8afc00247c1d7e6c7b37356a5f6282b486e596fa/src/lib/storage/filesystem.ts#L34))</p>
<p>```js
return path.join(this.storagePath, imageId) + ".png";
```</p>
<p>Would result in path traversal issue.</p>
<p>### PoC</p>
<p>```
# Configuration for filesystem storage provider (optional)
STORAGE_PROVIDER=filesystem
IMAGE_STORAGE_PATH=poc
```</p>
<p>Set this in your `.env` file and use this as your payload.</p>
<p>```
http://localhost:3089/?url=http://example.com&amp;width=400&amp;isDarkMode=../../../../../../../../../../../../tmp/hack
```</p>
<p>This will create a `.png` file in the `/tmp` section of the system.</p>
<p>Loom POC:…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-vvmv-wrvp-9gjr"/>
  </entry>
</feed>
