Executive brief
Saltcorn is a low-code web application platform that allows administrators to build and customize applications using plugins. A malicious tenant administrator can bypass plugin safety restrictions and install unsafe plugins through a pack import feature, potentially gaining access to data from other tenants within the same Saltcorn installation. This allows compromise of all tenant instances when an untrusted user has admin privileges.
Technical details
The vulnerability is a privilege escalation and security-control bypass in the plugin installation mechanism. The root cause is that the safety check for "unsafe" plugins (which may access system resources or other tenant data) is performed against a tenant-controlled store configuration rather than the root server's approved plugin list. An attacker with tenant admin privileges can add a custom plugin store URL, import unapproved unsafe plugins via pack import, and install them despite server-level restrictions. The vulnerability requires high privileges (tenant admin role) and no user interaction. An attacker can execute arbitrary plugin code to exfiltrate data from other tenants or disrupt availability. A fix was merged in PR #1973 to check against the root-level configuration instead of the tenant store.
Affected products
- Saltcorn Saltcorn < 0.8.8
Timeline
- 2023-07-27: disclosed
- 2023-09-06: patched: Fix merged in PR #1973