CVE-2023-32321GHSA-446m-hmmm-hm8mPYSEC-2026-312
Ckan remote code execution and private information access via crafted resource ids
ckan ckanpipLibraries & packages
CVSS
9.8CriticalExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)1.68%Chance of exploitation activity in the next 30 days, higher than 76% of CVEs. Scored 27 Oct 2026FIRST EPSS
What fixes it
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Specific vulnerabilities:
- Arbitrary file write in
resource_createandpackage_updateactions, using theResourceUploaderobject. Also reachable viapackage_create,package_revise, andpackage_patchvia calls topackage_update. - Remote code execution via unsafe pickle loading, via Beaker's session store when configured to use the file session store backend.
- Potential DOS due to lack of a length check on the resource id.
- Information disclosure: A user with permission to create a resource can access any other resource on the system if they know the id, even if they don't have access to it.
- Resource overwrite: A user with permission to create a resource can overwrite any resource if they know the id, even if they don't have access to it.
Impact
A user with permissions to create or edit a dataset can upload a resource with a specially crafted id to write the uploaded file in an arbitrary location. This can be leveraged to Remote Code Execution via Beaker's insecure pickle loading.
Patches
All the above listed vulnerabilities have been fixed in CKAN 2.9.9 and CKAN 2.10.1 The patches for CKAN 2.9 should apply easily to previous CKAN versions.
Text from GitHub Advisory Database
Affected versions 56
- ckan, pip< 2.9.9GitHub
- ckan, pip= 2.10.0GitHub
- ckanaffected: < 2.9.9CVE List
- ckanaffected: = 2.10.0CVE List
- ckan, PyPIfrom first release, fixed in 2.9.9OSV
- ckan, PyPI0.11OSV
- ckan, PyPI0.3OSV
- ckan, PyPI0.4OSV
- ckan, PyPI0.5OSV
- ckan, PyPI0.6OSV
- ckan, PyPI0.7OSV
- ckan, PyPI0.8OSV
- ckan, PyPI1.0OSV
- ckan, PyPI1.1OSV
- ckan, PyPI1.2OSV
- ckan, PyPI1.3OSV
- ckan, PyPI1.3.2OSV
- ckan, PyPI1.3.3OSV
- ckan, PyPI1.4OSV
- ckan, PyPI1.4.1OSV
- ckan, PyPI1.4.2OSV
- ckan, PyPI1.4.3OSV
- ckan, PyPI1.4.3.1OSV
- ckan, PyPI1.5OSV
- ckan, PyPI1.5.1OSV
- ckan, PyPI1.6OSV
- ckan, PyPI1.7OSV
- ckan, PyPI1.7.1OSV
- ckan, PyPI1.8OSV
- ckan, PyPI2.0OSV
- ckan, PyPI2.0.1OSV
- ckan, PyPI2.0.7OSV
- ckan, PyPI2.0.8OSV
- ckan, PyPI2.1OSV
- ckan, PyPI2.1.1OSV
- ckan, PyPI2.1.5OSV
- ckan, PyPI2.1.6OSV
- ckan, PyPI2.2OSV
- ckan, PyPI2.2.1OSV
- ckan, PyPI2.2.3OSV
- ckan, PyPI2.2.4OSV
- ckan, PyPI2.3OSV
- ckan, PyPI2.3.1OSV
- ckan, PyPI2.3.2OSV
- ckan, PyPI2.3.3OSV
- ckan, PyPI2.3.4OSV
- ckan, PyPI2.3.5OSV
- ckan, PyPI2.4.0OSV
- ckan, PyPI2.4.1OSV
- ckan, PyPI2.4.2OSV
- ckan, PyPI2.4.3OSV
- ckan, PyPI2.4.4OSV
- ckan, PyPI2.4.5OSV
- ckan, PyPI2.4.8OSV
- ckan, PyPI2.4.9OSV
- ckan, PyPI2.10.0OSV
References 5
- github.com/ckan/ckan/blob/2a6080e61d5601fa0e2a0317afd6a8e9b7abf6dd/CHANGELOG.rstFixvia CVE List
- github.com/ckan/ckan/security/advisories/GHSA-446m-hmmm-hm8mAdvisoryvia CVE List
- github.com/pypa/advisory-database/tree/main/vulns/ckan/PYSEC-2026-312.yamlAdvisoryvia GitHub
- github.com/advisories/GHSA-446m-hmmm-hm8mAdvisoryvia GitHub
- nvd.nist.gov/vuln/detail/CVE-2023-32321Referencevia GitHub