Read the docs
TI-2026-66759 Aliases GHSA-qw48-84f6-28gv

Graphite Has a Pickle Deserialization Vulnerability

Priority LOW 38CWE-502Published · Updated

Key facts

Attack vector
—
Privileges required
—
User interaction
—
Attack complexity
—
Impact type
Code execution
Confidentiality · integrity · availability
—
Fix status
Fixed

No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-502.

Summary

### Impact **Type of vulnerability:** Insecure Deserialization via Python's `pickle` module. **Who is impacted:** Users of *Graphite graph database engine* versions **before 0.2** who load database files from untrusted or third-party sources. An 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. ### Patches The vulnerability has been patched starting from **version 0.2**. All users should upgrade to **version 0.2 or later** (the current version is 0.4 at publishing time). In version 0.2 and above, the engine uses **JSON** instead of `pickle` for database storage, eliminating the deserialization risk. ### Workarounds If users cannot upgrade immediately: 1. **Do not load database files from untrusted or unknown sources** when using versions <0.2. 2. **Migrate existing pickle-based databases** to the new JSON format using the provided migration module: ```python from graphite.Migration import convert_pickle_to_json convert_pickle_to_json("path/to/old_database.pkl", "path/to/new_database.json") ``` After migration, you can safely use the database with version 0.2+. **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. ### Resources - Upgrade to [v0.2 or newer](https://github.com/mkh-user/graphite/releases) - Migration guide: See `graphite.Migration` module documentation - More on pickle security: [Python docs – pickle security](https://docs.python.org/3/library/pickle.html#module-pickle)

Why it matters now

Fix Fixed graphitedb (PyPI): 0.2

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
—graphitedb (PyPI)before 0.20.2Patch availableGHSA-qw48-84f6-28gv
  • graphitedb (PyPI) Vendor— Affected before 0.2 Fixed in 0.2 Patch available GHSA-qw48-84f6-28gv

Remediation

  • Fix · GHSA-qw48-84f6-28gv graphitedb (PyPI) Fixed in 0.2 Advisory →

Timeline

  1. 2026-10-03 Threatist record created from GHSA-qw48-84f6-28gv

References

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences