CVE-2023-32321: Ckan remote code execution and private information access via crafted resource ids
CVE-2023-32321 · Severity: critical · CVSS 9.8 · Published 2023-05-24
Specific vulnerabilities:
* Arbitrary file write in `resource_create` and `package_update` actions, using the `ResourceUploader` object. Also reachable via `package_create`, `package_revise`, and `package_patch` via calls to `package_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.
Yes. ckan (PyPI): upgrade to 2.10.1, 2.9.9 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
Am I affected by CVE-2023-32321?
Check whether you run ckan (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.