CVE-2023-50974
Description
In Appwrite CLI before 3.0.0, when using the login command, the credentials of the Appwrite user are stored in a ~/.appwrite/prefs.json file with 0644 as UNIX permissions. Any user of the local system can access those credentials.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Appwrite CLI before 3.0.0 stores user credentials in a world-readable file, allowing local attackers to steal authentication secrets.
In Appwrite CLI versions prior to 3.0.0, the login command saves the user's credentials—such as API keys or session tokens—in a plain-text JSON file located at ~/.appwrite/prefs.json [1][2]. This file is created with Unix file permissions 0644, meaning it is readable by all users on the local system [2]. The root cause is an insecure default permission setting during credential storage, which neglects to restrict access to only the file owner.
An attacker with local access to the system—whether through a shared machine, a compromised low-privilege account, or a malicious process running under a different user—can simply read the prefs.json file without any authentication or elevated privileges [2]. No special conditions are required beyond the ability to read files in the home directory of the user who ran the Appwrite CLI login command. The attack surface is limited to local systems, but in multi-user environments or cloud workstations, the impact can be widespread.
Successful exploitation allows the attacker to obtain the victim's Appwrite credentials, which could include API keys or session tokens. With these credentials, they could impersonate the victim and gain unauthorized access to Appwrite projects, potentially leading to data theft, resource manipulation, or further lateral movement within the Appwrite backend services [1][2].
The vulnerability is fixed in Appwrite CLI version 3.0.0 [2]. Users are strongly advised to update to the latest version. For those unable to upgrade immediately, a manual workaround is to change the permissions of the prefs.json file to 0600 and ensure the credentials are not left accessible to other local users [2].
AI Insight generated on May 20, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
appwrite-clinpm | < 3.0.0 | 3.0.0 |
appwritePyPI | < 3.0.0 | 3.0.0 |
Affected products
4- Appwrite/CLIdescription
- Range: <3.0.0
- ghsa-coords2 versions
< 3.0.0+ 1 more
- (no CPE)range: < 3.0.0
- (no CPE)range: < 3.0.0
Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
5- github.com/advisories/GHSA-g777-crp9-m27gghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2023-50974ghsaADVISORY
- appwrite.io/docs/tooling/command-line/installationghsaWEB
- gist.github.com/SkypLabs/72ee00ecfa7d1a3494e2d69a24279c1dghsaWEB
- github.com/pypa/advisory-database/tree/main/vulns/appwrite/PYSEC-2024-2.yamlghsaWEB
News mentions
0No linked articles in our index yet.