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.
History

Mon, 27 Apr 2026 13:45:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:saltcorn:saltcorn:*:*:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha0:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha10:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha11:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha12:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha13:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha14:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha15:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha16:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha17:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha1:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha2:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha3:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha4:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha5:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha6:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha7:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha8:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha9:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:beta1:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:beta2:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:beta3:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:*:*:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha0:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha10:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha11:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha12:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha13:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha14:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha15:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha16:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha17:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha1:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha2:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha3:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha4:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha5:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha6:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha7:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha8:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha9:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:beta1:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:beta2:*:*:*:*:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:beta3:*:*:*:*:*:*

Mon, 27 Apr 2026 13:30:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:saltcorn:saltcorn:*:*:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha0:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha10:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha11:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha12:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha13:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha14:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha15:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha16:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha17:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha1:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha2:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha3:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha4:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha5:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha6:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha7:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha8:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha9:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:beta1:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:beta2:*:*:*:node.js:*:*
cpe:2.3:a:saltcorn:saltcorn:1.6.0:beta3:*:*:*:node.js:*:*

Wed, 15 Apr 2026 15:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 13 Apr 2026 13:00:00 +0000

Type Values Removed Values Added
First Time appeared Saltcorn
Saltcorn saltcorn
Vendors & Products Saltcorn
Saltcorn saltcorn

Fri, 10 Apr 2026 17:30:00 +0000

Type Values Removed Values Added
Description 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.
Title Saltcorn has an Unauthenticated Path Traversal in sync endpoints allows arbitrary file write and directory read
Weaknesses CWE-22
References
Metrics cvssV3_1

{'score': 8.2, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published: 2026-04-10T17:07:49.067Z

Updated: 2026-04-15T14:50:01.616Z

Reserved: 2026-04-09T19:31:56.014Z

Link: CVE-2026-40163

cve-icon Vulnrichment

Updated: 2026-04-15T14:49:42.801Z

cve-icon NVD

Status : Analyzed

Published: 2026-04-10T18:16:46.233

Modified: 2026-04-27T13:36:14.653

Link: CVE-2026-40163

cve-icon Redhat

No data.