# CVE-2026-112342: Tandoor Recipes < 2.7.0 Cross-Space Permission Cache Poisoning

Status: published. Published: 2026-10-23. Updated: 2026-11-08.

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.

## Remediation

- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: CNA: VulnCheck) — https://github.com/TandoorRecipes/recipes/releases/tag/2.7.0
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: CNA: VulnCheck) — https://github.com/TandoorRecipes/recipes/commit/1285f5009aa166c0d6f8658849eed5686294d5e9

## Affected products and versions

- Tandoor Recipes / Tandoor Recipes (TandoorRecipes/recipes): ≥ 0; < 2.7.0 (affected, semver). Source: CNA: VulnCheck

## Severity and prioritization

- CVSS 4.0: 7.1 (high); CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N; source: CNA: VulnCheck

- CVSS 3.1: 7.1 (high); CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N; source: CNA: VulnCheck

- CISA KEV: No listing in collected sources

- EPSS: 0.27% as of 2026-11-08; percentile 19.06%

- SSVC: exploitation none; automatable no; technical impact partial; source ADP: CISA-ADP

- Weaknesses: CWE-863

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://github.com/TandoorRecipes/recipes/security/advisories/GHSA-69q3-5q6x-7hmx (CNA: VulnCheck; vendor-advisory)

- https://github.com/TandoorRecipes/recipes/releases/tag/2.7.0 (CNA: VulnCheck; release-notes, patch)

- https://github.com/TandoorRecipes/recipes/commit/1285f5009aa166c0d6f8658849eed5686294d5e9 (CNA: VulnCheck; patch)

- https://www.vulncheck.com/advisories/tandoor-recipes-cross-space-permission-cache-poisoning (CNA: VulnCheck; third-party-advisory)

## Provenance

- CNA: VulnCheck: https://www.cve.org/CVERecord?id=CVE-2026-112342; retrieved 2026-11-08; source updated 2026-11-08

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2026-112342; retrieved 2026-11-08; source updated Not reported

Revision: 7f3ca92d3ccd1e2e266b865af3f45e25a13deb6d1d267face5cb7f442fd395f1

Canonical: https://y2.dev/cve/CVE-2026-112342

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.