Tandoor Recipes < 2.7.0 Cross-Space Permission Cache Poisoning
Impact
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…
Source excerpt · VulnCheckAffected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
Tandoor Recipes · Tandoor Recipes
Other versions: unaffected
| Version / range | Source status |
|---|---|
| 0 to before 2.7.0 | affected |
Original source description
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.
References
- Security advisory github.com/TandoorRecipes/recipes/security/advisories/GHSA-69q3-5q6x-7hmx
- Release notes github.com/TandoorRecipes/recipes/releases/tag/2.7.0
- Patch github.com/TandoorRecipes/recipes/commit/1285f5009aa166c0d6f8658849eed5686294d5e9
- Security advisory www.vulncheck.com/advisories/tandoor-recipes-cross-space-permission-cache-poisoning