Summary
An authenticated Appsmith user can commit a symlink inside a Git repository that, when imported or committed through Appsmith's Git integration, causes the server to follow the link outside the intended directory. This affects Appsmith Community and Enterprise self-hosted deployments using the Git import or commit feature, which is part of the default installation.
Impact
An attacker can read arbitrary files on the server, including credential material such as datasource passwords and the instance's encryption key, and can write arbitrary files that the server process later executes, resulting in code execution with the server process's privileges. No special role or admin access is required beyond an authenticated account, and self-registration is enabled by default in Appsmith Community Edition.
Affected and patched versions
Appsmith versions before 2.3 are affected. Upgrade to 2.3 or later.
Workarounds
Disable self-registration and restrict who can create accounts, since any authenticated user can exploit this issue through the Git import or commit feature.
After upgrading
Rotate the instance's encryption password and salt, and any datasource credentials, if you suspect this issue was exploited before upgrading.
Credits
Thanks to Rahul Maini (@iamnoooob) at Hacktron and @123vivekr for reporting this issue.
Summary
An authenticated Appsmith user can commit a symlink inside a Git repository that, when imported or committed through Appsmith's Git integration, causes the server to follow the link outside the intended directory. This affects Appsmith Community and Enterprise self-hosted deployments using the Git import or commit feature, which is part of the default installation.
Impact
An attacker can read arbitrary files on the server, including credential material such as datasource passwords and the instance's encryption key, and can write arbitrary files that the server process later executes, resulting in code execution with the server process's privileges. No special role or admin access is required beyond an authenticated account, and self-registration is enabled by default in Appsmith Community Edition.
Affected and patched versions
Appsmith versions before 2.3 are affected. Upgrade to 2.3 or later.
Workarounds
Disable self-registration and restrict who can create accounts, since any authenticated user can exploit this issue through the Git import or commit feature.
After upgrading
Rotate the instance's encryption password and salt, and any datasource credentials, if you suspect this issue was exploited before upgrading.
Credits
Thanks to Rahul Maini (@iamnoooob) at Hacktron and @123vivekr for reporting this issue.