CVE-2026-28277

6.8 MEDIUM

📋 TL;DR

CVE-2026-28277 is a deserialization vulnerability in LangGraph SQLite Checkpoint that allows arbitrary code execution when loading maliciously crafted checkpoint data. Attackers who gain write access to the SQLite database can inject payloads that execute during deserialization. This affects users of LangGraph versions 1.0.9 and earlier who use SQLite checkpointing.

💻 Affected Systems

Products:
  • LangGraph SQLite Checkpoint
Versions: 1.0.9 and prior
Operating Systems: All platforms running Python
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects users who enable SQLite checkpointing in LangGraph applications.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full remote code execution with the privileges of the LangGraph process, potentially leading to complete system compromise, data theft, or ransomware deployment.

🟠

Likely Case

Limited code execution within the application context if attackers gain database write access through other vulnerabilities or misconfigurations.

🟢

If Mitigated

No impact if database access is properly secured and checkpoint data cannot be modified by unauthorized users.

🌐 Internet-Facing: MEDIUM - While the vulnerability requires database write access, internet-facing applications with database exposure could be targeted.
🏢 Internal Only: HIGH - Internal attackers or compromised accounts with database access can exploit this vulnerability.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires write access to the SQLite database and knowledge of msgpack serialization vulnerabilities.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: None

Vendor Advisory: https://github.com/langchain-ai/langgraph/security/advisories/GHSA-g48c-2wqr-h844

Restart Required: Yes

Instructions:

No official patch available. Monitor the LangGraph repository for updates and apply when released.

🔧 Temporary Workarounds

Disable SQLite Checkpointing

all

Switch to alternative checkpointing methods or disable checkpointing entirely if not required.

Modify LangGraph configuration to use different checkpointers or set checkpointing to false

Database Access Controls

linux

Restrict write access to SQLite database files to only trusted processes and users.

chmod 600 checkpoint.db
chown appuser:appgroup checkpoint.db

🧯 If You Can't Patch

  • Implement strict database access controls and monitor for unauthorized modifications
  • Use application-level encryption for checkpoint data to detect tampering

🔍 How to Verify

Check if Vulnerable:

Check if using LangGraph SQLite Checkpoint version 1.0.9 or earlier by examining package dependencies.

Check Version:

pip show langgraph-sqlite-checkpoint | grep Version

Verify Fix Applied:

Verify upgraded to version after 1.0.9 when available and confirm SQLite checkpointing is properly configured.

📡 Detection & Monitoring

Log Indicators:

  • Unexpected Python object reconstruction errors
  • Database modification timestamps from unauthorized sources

Network Indicators:

  • Unusual database connection patterns
  • SQLite file transfers to unexpected destinations

SIEM Query:

source="application.log" AND "msgpack" AND "deserialization error"

🔗 References

📤 Share & Export