---
id: "CVE-2026-112342"
kind: "vulnerability"
aliases: ["CVE-2026-112342"]
title: "Tandoor Recipes: stale permission cache lets users keep admin rights in other spaces"
severity: "high"
cvss: 7.1
epss: 0.00377
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["multi-tenant", "package", "python", "self-hosted", "tandoor-recipes"]
not_affected_if: ["single-space-deployment", "version-2.7.0-or-later"]
published_at: "2026-10-23T19:17:43+00:00"
first_seen_at: "2026-10-23T21:57:34+00:00"
updated_at: "2026-10-25T12:38:50+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-112342", "first_seen_at": "2026-10-23T21:57:34+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-112342", "first_seen_at": "2026-10-25T12:38:50+00:00"}]
---

# Tandoor Recipes: stale permission cache lets users keep admin rights in other spaces

Tandoor Recipes before 2.7.0 caches group permissions by user ID without the active space, so a cached admin decision carries over when a user switches spaces. An authenticated user can use this to reach elevated actions in a space where they were demoted or have lesser rights.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed Tandoor version; affected if below `2.7.0`
- Review `cookbook/helper/permission_helper.py` for a cache key built only from the user id

## Fix

- Upgrade Tandoor Recipes to `2.7.0` or later
- Until upgraded, restrict who holds accounts able to create spaces

## Timeline

- 2026-10-23T21:57:34+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-112342
- 2026-10-25T12:38:50+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-112342

## From the sources

Tandoor Recipes before 2.7.0 contains an improper cache-key design in cookbook/helper/permission_helper.py that allows authenticated users to retain stale group-based permissions across different spaces by exploiting a cache key keyed only on user id while omitting the active space, with the cached entry's TTL refreshed on every request. Attackers can create their own space to obtain an admin group designation, then switch their active space to a victim space where they hold lesser privileges, causing the stale cached admin decision to authorize elevated access and bypass group revocations or demotions across multiple permission classes and views.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
