Read the docs
TI-2026-28978 Aliases CVE-2026-40163GHSA-32pv-mpqg-h292

Saltcorn has an Unauthenticated Path Traversal in sync endpoints allows arbitrary file write and directory read

Priority HIGH 75CWE-22Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
Low · High · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.

Summary

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00339 27th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed saltcorn (saltcorn): 1.4.5, 1.5.5, 1.6.0-beta.4@saltcorn/server (npm): 1.4.5, 1.5.5, 1.6.0-beta.4

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
saltcornsaltcornbefore 1.4.5; 1.5.0-beta.0 to before 1.5.5; 1.6.0-alpha.0 to before 1.6.0-beta.41.4.5, 1.5.5, 1.6.0-beta.4Patch availableCNA
—@saltcorn/server (npm)before 1.4.51.4.5Patch availableGHSA-32pv-mpqg-h292
—@saltcorn/server (npm)1.5.0-beta.0 to before 1.5.51.5.5Patch availableGHSA-32pv-mpqg-h292
—@saltcorn/server (npm)1.6.0-alpha.0 to before 1.6.0-beta.41.6.0-beta.4Patch availableGHSA-32pv-mpqg-h292
  • saltcorn Vendorsaltcorn Affected before 1.4.5; 1.5.0-beta.0 to before 1.5.5; 1.6.0-alpha.0 to before 1.6.0-beta.4 Fixed in 1.4.5, 1.5.5, 1.6.0-beta.4 Patch available CNA
  • @saltcorn/server (npm) Vendor— Affected before 1.4.5 Fixed in 1.4.5 Patch available GHSA-32pv-mpqg-h292
  • @saltcorn/server (npm) Vendor— Affected 1.5.0-beta.0 to before 1.5.5 Fixed in 1.5.5 Patch available GHSA-32pv-mpqg-h292
  • @saltcorn/server (npm) Vendor— Affected 1.6.0-alpha.0 to before 1.6.0-beta.4 Fixed in 1.6.0-beta.4 Patch available GHSA-32pv-mpqg-h292

CPE configurations NVD · 22

CPEVersionsRoleVendor
cpe:2.3:a:saltcorn:saltcorn:*:*:*:*:*:*:*:*before 1.4.5; 1.5.0 to before 1.5.5Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha0:*:*:*:*:*:*1.6.0 alpha0Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha1:*:*:*:*:*:*1.6.0 alpha1Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha10:*:*:*:*:*:*1.6.0 alpha10Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha11:*:*:*:*:*:*1.6.0 alpha11Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha12:*:*:*:*:*:*1.6.0 alpha12Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha13:*:*:*:*:*:*1.6.0 alpha13Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha14:*:*:*:*:*:*1.6.0 alpha14Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha15:*:*:*:*:*:*1.6.0 alpha15Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha16:*:*:*:*:*:*1.6.0 alpha16Vulnerablesaltcorn
  • cpe:2.3:a:saltcorn:saltcorn:*:*:*:*:*:*:*:* Versions before 1.4.5; 1.5.0 to before 1.5.5 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha0:*:*:*:*:*:* Versions 1.6.0 alpha0 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha1:*:*:*:*:*:* Versions 1.6.0 alpha1 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha10:*:*:*:*:*:* Versions 1.6.0 alpha10 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha11:*:*:*:*:*:* Versions 1.6.0 alpha11 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha12:*:*:*:*:*:* Versions 1.6.0 alpha12 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha13:*:*:*:*:*:* Versions 1.6.0 alpha13 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha14:*:*:*:*:*:* Versions 1.6.0 alpha14 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha15:*:*:*:*:*:* Versions 1.6.0 alpha15 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha16:*:*:*:*:*:* Versions 1.6.0 alpha16 Vulnerable ·saltcorn
Show 12 more CPE
CPEVersionsRoleVendor
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha17:*:*:*:*:*:*1.6.0 alpha17Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha2:*:*:*:*:*:*1.6.0 alpha2Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha3:*:*:*:*:*:*1.6.0 alpha3Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha4:*:*:*:*:*:*1.6.0 alpha4Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha5:*:*:*:*:*:*1.6.0 alpha5Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha6:*:*:*:*:*:*1.6.0 alpha6Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha7:*:*:*:*:*:*1.6.0 alpha7Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha8:*:*:*:*:*:*1.6.0 alpha8Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha9:*:*:*:*:*:*1.6.0 alpha9Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:beta1:*:*:*:*:*:*1.6.0 beta1Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:beta2:*:*:*:*:*:*1.6.0 beta2Vulnerablesaltcorn
cpe:2.3:a:saltcorn:saltcorn:1.6.0:beta3:*:*:*:*:*:*1.6.0 beta3Vulnerablesaltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha17:*:*:*:*:*:* Versions 1.6.0 alpha17 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha2:*:*:*:*:*:* Versions 1.6.0 alpha2 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha3:*:*:*:*:*:* Versions 1.6.0 alpha3 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha4:*:*:*:*:*:* Versions 1.6.0 alpha4 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha5:*:*:*:*:*:* Versions 1.6.0 alpha5 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha6:*:*:*:*:*:* Versions 1.6.0 alpha6 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha7:*:*:*:*:*:* Versions 1.6.0 alpha7 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha8:*:*:*:*:*:* Versions 1.6.0 alpha8 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:alpha9:*:*:*:*:*:* Versions 1.6.0 alpha9 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:beta1:*:*:*:*:*:* Versions 1.6.0 beta1 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:beta2:*:*:*:*:*:* Versions 1.6.0 beta2 Vulnerable ·saltcorn
  • cpe:2.3:a:saltcorn:saltcorn:1.6.0:beta3:*:*:*:*:*:* Versions 1.6.0 beta3 Vulnerable ·saltcorn

Remediation

  • Fix · CNA saltcorn (saltcorn) Fixed in 1.4.5, 1.5.5, 1.6.0-beta.4
  • Fix · GHSA-32pv-mpqg-h292 @saltcorn/server (npm) Fixed in 1.4.5 Advisory →
  • Fix · GHSA-32pv-mpqg-h292 @saltcorn/server (npm) Fixed in 1.5.5 Advisory →
  • Fix · GHSA-32pv-mpqg-h292 @saltcorn/server (npm) Fixed in 1.6.0-beta.4 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-40163
  2. 2026-10-03 Alias added: GHSA-32pv-mpqg-h292

References

  • TI-2026-30066 Saltcorn: SQL Injection via Unparameterized Sync Endpoints (maxLoadedId) CVSS 3.1CRITICAL 10.0

Sources