Vulnerabilities in pkg:pypi/graphitedb
PACKAGEGHSA-qw48-84f6-28gv is a HIGH (CVSS 7.8) graphite has a pickle deserialization vulnerability (CWE-502: Deserialization of Untrusted Data) affecting Graphitedb libraries in the PyPI ecosystem. The issue involves graphite has a pickle deserialization vulnerability. Remediation is available by upgrading affected packages to version 0.2.
pkg:pypi/graphitedb
Vulnerability advisories affecting package pkg:pypi/graphitedb. Select an advisory below to view technical details or fixes.
| Advisory ID | CVE / NVD | Severity | Summary |
|---|---|---|---|
| GHSA-qw48-84f6-28gv | - | HIGH | Graphite Has a Pickle Deserialization Vulnerability |
GHSA-qw48-84f6-28gv at a Glance
Security Impact
CVSS: 7.8
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H).
How to Fix GHSA-qw48-84f6-28gv
To remediate this vulnerability, upgrade all affected Graphitedb dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
pip install graphitedb>=0.2
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
pip show graphitedb
How to Check if You Are Affected
To determine whether your Python environment is affected by GHSA-qw48-84f6-28gv, inspect your installed packages using pip:
pip show graphitedb
Analyze the terminal output to locate any version of Graphitedb in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 0.2), your application is affected.
Note: The pip show graphitedb command checks currently installed packages in your active Python environment.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-502: Deserialization of Untrusted Data, where the product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid. In Graphitedb, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
GHSA-qw48-84f6-28gv Affected Graphitedb Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
graphitedb
|
PyPI |
< 0.2
|
0.2
|
References
Frequently Asked Questions
What is GHSA-qw48-84f6-28gv?
Which Graphitedb versions are affected?
What version fixes GHSA-qw48-84f6-28gv?
Is graphitedb affected?
What is the CVSS score of GHSA-qw48-84f6-28gv?
What CWE is associated with GHSA-qw48-84f6-28gv?
How can I check PyPI dependencies for GHSA-qw48-84f6-28gv?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-qw48-84f6-28gv",
"modified" : "2026-05-18T13:27:56Z",
"published" : "2026-05-18T13:27:55Z",
"aliases" : [ ],
"summary" : "Graphite Has a Pickle Deserialization Vulnerability",
"details" : "### Impact\n**Type of vulnerability:** Insecure Deserialization via Python's `pickle` module.\n\n**Who is impacted:** \nUsers of *Graphite graph database engine* versions **before 0.2** who load database files from untrusted or third-party sources. \nAn attacker could craft a malicious database file that executes arbitrary code when loaded by the engine. This is possible because the engine used `pickle` for serialization, which is known to be unsafe for untrusted data.\n\n### Patches\nThe vulnerability has been patched starting from **version 0.2**. \nAll users should upgrade to **version 0.2 or later** (the current version is 0.4 at publishing time). \nIn version 0.2 and above, the engine uses **JSON** instead of `pickle` for database storage, eliminating the deserialization risk.\n\n### Workarounds\nIf users cannot upgrade immediately:\n\n1. **Do not load database files from untrusted or unknown sources** when using versions <0.2.\n2. **Migrate existing pickle-based databases** to the new JSON format using the provided migration module:\n\n```python\nfrom graphite.Migration import convert_pickle_to_json\nconvert_pickle_to_json(\"path/to/old_database.pkl\", \"path/to/new_database.json\")\n```\n\nAfter migration, you can safely use the database with version 0.2+.\n\n**Note:** Versions 0.2 and later will show a **warning** when attempting to load legacy pickle files, reminding you to migrate them. Also, **you can't load pickle files** in 0.2 and later.\n\n### Resources\n- Upgrade to [v0.2 or newer](https://github.com/mkh-user/graphite/releases)\n- Migration guide: See `graphite.Migration` module documentation\n- More on pickle security: [Python docs – pickle security](https://docs.python.org/3/library/pickle.html#module-pickle)",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "PyPI",
"name" : "graphitedb"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "0.2"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/mkh-user/graphite/security/advisories/GHSA-qw48-84f6-28gv"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/mkh-user/graphite"
}, {
"type" : "WEB",
"url" : "https://github.com/mkh-user/graphite/releases/tag/v0.2"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-502" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2026-05-18T13:27:55Z",
"nvd_published_at" : null
}
}