---
id: CVE-2023-32321
aliases:
  - GHSA-446m-hmmm-hm8m
  - PYSEC-2026-312
title: >-
  Ckan remote code execution and private information access via crafted resource
  ids
summary: >-
  Ckan remote code execution and private information access via crafted resource
  ids
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
vendor: ckan
product: ckan
ecosystem: pip
affected:
  - ckan < 2.9.9
  - ckan
patched:
  - ckan 2.9.9
published: '2023-05-24'
updated: '2026-09-10'
sourceUpdated: '2026-09-10T03:49:53.851814759Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-446m-hmmm-hm8m'
references:
  - url: 'https://github.com/ckan/ckan/security/advisories/GHSA-446m-hmmm-hm8m'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2023-32321'
  - url: 'https://github.com/ckan/ckan'
  - url: >-
      https://github.com/ckan/ckan/blob/2a6080e61d5601fa0e2a0317afd6a8e9b7abf6dd/CHANGELOG.rst
tags:
  - osv
  - pip
epss: 0.01684
epssPercentile: 0.76019
ingestedAt: '2026-09-12T03:13:01.649Z'
---

## Overview

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.

## Affected packages

- `ckan < 2.9.9`
- `ckan`

## Remediation

Upgrade to a patched release:

- `ckan 2.9.9`
