<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Thu, 08 Oct 2026 22:45:29 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-291420</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-291420</link>
      <description>EUVD-2026-291420</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-291420</guid>
    </item>
    <item>
      <title>fkie_cve-2026-40163</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-40163</link>
      <description>&lt;p&gt;Saltcorn is an extensible, open source, no-code database application builder. Prior to 1.4.5, 1.5.5, and 1.6.0-beta.4, the POST /sync/offline_changes endpoint allows an unauthenticated attacker to create arbitrary directories and write a changes.json file with attacker-controlled JSON content anywhere on the server filesystem. The GET /sync/upload_finished endpoint allows an unauthenticated attacker to list arbitrary directory contents and read specific JSON files. This vulnerability is fixed in 1.4.5, 1.5.5, and 1.6.0-beta.4.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Saltcorn is an extensible, open source, no-code database application builder. Prior to 1.4.5, 1.5.5, and 1.6.0-beta.4, the POST /sync/offline_changes endpoint allows an unauthenticated attacker to create arbitrary directories and write a changes.json file with attacker-controlled JSON content anywhere on the server filesystem. The GET /sync/upload_finished endpoint allows an unauthenticated attacker to list arbitrary directory contents and read specific JSON files. This vulnerability is fixed in 1.4.5, 1.5.5, and 1.6.0-beta.4.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-40163</guid>
    </item>
    <item>
      <title>GHSA-32pv-mpqg-h292 — Saltcorn has an Unauthenticated Path Traversal in sync endpoints, allowing arbitrary file write and directory read</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-32pv-mpqg-h292</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @saltcorn/server&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;Two unauthenticated path traversal vulnerabilities exist in Saltcorn&amp;#39;s mobile sync endpoints. The `POST /sync/offline_changes` endpoint allows an unauthenticated attacker to create arbitrary directories and write a `changes.json` file with attacker-controlled JSON content anywhere on the server filesystem. The `GET /sync/upload_finished` endpoint allows an unauthenticated attacker to list arbitrary directory contents and read specific JSON files.&lt;/p&gt;
&lt;p&gt;The safe path validation function `File.normalise_in_base()` exists in the codebase and is correctly used by the `clean_sync_dir` endpoint in the **same file** (fix for GHSA-43f3-h63w-p6f6), but was not applied to these two endpoints.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**Finding 1: Arbitrary file write — `POST /sync/offline_changes` (sync.js line 226)**&lt;/p&gt;
&lt;p&gt;The `newSyncTimestamp` parameter from the request body is used directly in `path.join()` without sanitization:&lt;/p&gt;
&lt;p&gt;```javascript
const syncDirName = `${newSyncTimestamp}_${req.user?.email || &amp;#34;public&amp;#34;}`;
const syncDir = path.join(
    rootFolder.location, &amp;#34;mobile_app&amp;#34;, &amp;#34;sync&amp;#34;, syncDirName
);
await fs.mkdir(syncDir, { recursive: true });        // creates arbitrary dir
await fs.writeFile(
    path.join(syncDir, &amp;#34;changes.json&amp;#34;),
    JSON.stringify(changes)                           // writes attacker content
);
```&lt;/p&gt;
&lt;p&gt;No authentication middleware is applied to this route. Since `path.join()` normalizes `../` sequences, setting `newSyncTimestamp` to `../../../../tmp/evil` causes the path to resolve…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @saltcorn/server&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;Two unauthenticated path traversal vulnerabilities exist in Saltcorn&amp;#39;s mobile sync endpoints. The `POST /sync/offline_changes` endpoint allows an unauthenticated attacker to create arbitrary directories and write a `changes.json` file with attacker-controlled JSON content anywhere on the server filesystem. The `GET /sync/upload_finished` endpoint allows an unauthenticated attacker to list arbitrary directory contents and read specific JSON files.&lt;/p&gt;
&lt;p&gt;The safe path validation function `File.normalise_in_base()` exists in the codebase and is correctly used by the `clean_sync_dir` endpoint in the **same file** (fix for GHSA-43f3-h63w-p6f6), but was not applied to these two endpoints.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**Finding 1: Arbitrary file write — `POST /sync/offline_changes` (sync.js line 226)**&lt;/p&gt;
&lt;p&gt;The `newSyncTimestamp` parameter from the request body is used directly in `path.join()` without sanitization:&lt;/p&gt;
&lt;p&gt;```javascript
const syncDirName = `${newSyncTimestamp}_${req.user?.email || &amp;#34;public&amp;#34;}`;
const syncDir = path.join(
    rootFolder.location, &amp;#34;mobile_app&amp;#34;, &amp;#34;sync&amp;#34;, syncDirName
);
await fs.mkdir(syncDir, { recursive: true });        // creates arbitrary dir
await fs.writeFile(
    path.join(syncDir, &amp;#34;changes.json&amp;#34;),
    JSON.stringify(changes)                           // writes attacker content
);
```&lt;/p&gt;
&lt;p&gt;No authentication middleware is applied to this route. Since `path.join()` normalizes `../` sequences, setting `newSyncTimestamp` to `../../../../tmp/evil` causes the path to resolve…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-32pv-mpqg-h292</guid>
    </item>
  </channel>
</rss>
