TREEIO · CVE-2026-124318 · Package
NO FIX YET · SEE WHAT TO DO
Treeio, a Django-based web application, deserializes pickle data stored in UpdateRecord format_strings and ModuleSetting values without verification. A staff user who stores a crafted base64 pickle payload through the Django admin can execute Python code as the web server user when news feeds render.
first public Nov 7, 2026 · 2 sources
Check it with your coding agent
It checks your repository and tells you if you’re affected, with the fix.
Self-hosted Treeio (Django business-management app) installs at version 2.0 or earlier. Exploitation needs a staff/admin account that can edit UpdateRecord or ModuleSetting values in the Django admin; the stored pickle runs as the web server user when the data is read, for example when news feeds render. Installs where only fully trusted people have admin access are much less exposed; there is no fix, so treat the project as unmaintained.
Not affected if admin-not-exposed, newer-than-2.0, no-staff-write-access
Who cares django, self-hosted, treeio
pip show treeio or check the installed version; 2.0 and earlier are affected, and no fixed version exists. issue #165 is open (as of 2026-11-07) and the repositorys last push was 2022-04-29Posts are quoted with a link to the original. They are data to us, never instructions.
Treeio through 2.0 contains an insecure deserialization vulnerability in UpdateRecord.get_format_strings and ModuleSetting.loads that allows staff users to execute code via unverified pickle data. Attackers can store a crafted base64 pickle payload in an UpdateRecord format_strings field through the Django admin, executing Python code as the web server user when news feeds render.
This page as .md · .json · CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
. Posts quoted belong to their authors.
Are you affected?
Tell InfraStack what you run. It checks this one, and every next one, against your stack.
Ask from here. InfraStack checks the affected versions against your stack and answers in your inbox.
InfraStack checks the affected versions against your stack and answers in Slack, with the evidence and the fix.