Severity: Critical
Files: fixpickle.py:11,13, encryption.py:57-58,99-101
Problem
pickle.loads() deserializes data from Redis (sessions) and database (ML entries, user dicts). DB/Redis compromise leads to remote code execution. unpack_object() and unpack_dictionary() deserialize without encryption.
Remediation
Replace pickle with JSON for new data. Add HMAC integrity verification for existing pickle data. Migrate stored pickle data to JSON format.
Source
Finding from security audit (2026-08-31). See .github/SECURITY_AUDIT_TRIAGE.md.
Severity: Critical
Files:
fixpickle.py:11,13,encryption.py:57-58,99-101Problem
pickle.loads()deserializes data from Redis (sessions) and database (ML entries, user dicts). DB/Redis compromise leads to remote code execution.unpack_object()andunpack_dictionary()deserialize without encryption.Remediation
Replace pickle with JSON for new data. Add HMAC integrity verification for existing pickle data. Migrate stored pickle data to JSON format.
Source
Finding from security audit (2026-08-31). See
.github/SECURITY_AUDIT_TRIAGE.md.