CVE-2026-23946

Pickle Rick-rolled Again: The Zombie RCE in Tendenci CMS

Amit Schendel
Amit Schendel
Senior Security Researcher

Jan 21, 2026·5 min read·2 visits

Executive Summary (TL;DR)

Tendenci CMS failed to fully remove unsafe `pickle` deserialization in its Helpdesk module, reviving a vulnerability thought to be dead since 2020. Authenticated staff members could achieve Remote Code Execution (RCE) by saving a malicious report query. Fixed in version 15.3.12 by replacing `pickle` with `simplejson`.

A classic case of 'patch it once, shame on you; patch it twice, shame on me.' Tendenci CMS suffered from an authenticated Remote Code Execution (RCE) vulnerability due to an incomplete fix for a 2020 issue, leaving the Helpdesk module exposed to Python pickle deserialization attacks.

Fix Analysis (2)

Technical Appendix

CVSS Score
6.8/ 10
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H

Affected Systems

Tendenci AMS

Affected Versions Detail

Product
Affected Versions
Fixed Version
Tendenci
Tendenci
<= 15.3.1115.3.12
AttributeDetail
CWE IDCWE-502 (Insecure Deserialization)
CVSS v3.16.8 (Medium)
Attack VectorNetwork (Authenticated)
ImpactRemote Code Execution (RCE)
LanguagePython
Affected Componenttendenci.apps.helpdesk
CWE-502
Deserialization of Untrusted Data

The application deserializes untrusted data without sufficiently verifying that the resulting data will be valid.

Vulnerability Timeline

Original CVE-2020-14942 reported and partially patched
2020-06-15
Tendenci v15.3.11 released (still vulnerable)
2026-01-08
Fix committed to GitHub master branch
2026-01-16
Tendenci v15.3.12 released
2026-01-18
Public Advisory Published
2026-01-21

Subscribe to updates

Get the latest CVE analysis reports delivered to your inbox.