The analysis of the provided commits confirms that the vulnerability is a result of an incomplete patch for CVE-2020-14942. The commit 63e1b84a5b163466d1d8d811d35e7021a7ca0d0e explicitly replaces the unsafe pickle.loads() with simplejson.loads() in the run_report function within tendenci/apps/helpdesk/views/staff.py. This is the smoking gun, as pickle.loads() on untrusted data is the root cause of the remote code execution vulnerability.
Additionally, commit 23d9fd85ab7654e9c83cfc86cb4175c0bd7a77f1 shows hardening of the save_query function, which is responsible for saving the queries that are later processed by run_report. This change introduces form validation to ensure that the saved query is valid JSON, thus preventing a malicious pickled object from being stored and later executed. While run_report is the function where the code execution occurs, save_query is the function that allows the malicious payload to be introduced. Therefore, both are relevant to the vulnerability.