CVE-2026-35489
Full vulnerability record from the local CVENow database.
Description
Tandoor Recipes is an application for managing recipes, planning meals, and building shopping lists. Prior to 2.6.4, the POST /api/food/{id}/shopping/ endpoint reads amount and unit directly from request.data and passes them without validation to ShoppingListEntry.objects.create(). Invalid amount values (non-numeric strings) cause an unhandled exception and HTTP 500. A unit ID from a different Space can be associated cross-space, leaking foreign-key references across tenant boundaries. All other endpoints creating ShoppingListEntry use ShoppingListEntrySerializer, which validates and sanitizes these fields. This vulnerability is fixed in 2.6.4.
Severity
HIGH
CVSS score
7.3
(v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-04-07 16:16:27.160000
Last modified
2026-10-26 21:10:00.170000
View original CVE JSON
{
"id": "CVE-2026-35489",
"sourceIdentifier": "[email protected]",
"published": "2026-04-07T16:16:27.160",
"lastModified": "2026-10-26T21:10:00.170",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Tandoor Recipes is an application for managing recipes, planning meals, and building shopping lists. Prior to 2.6.4, the POST /api/food/{id}/shopping/ endpoint reads amount and unit directly from request.data and passes them without validation to ShoppingListEntry.objects.create(). Invalid amount values (non-numeric strings) cause an unhandled exception and HTTP 500. A unit ID from a different Space can be associated cross-space, leaking foreign-key references across tenant boundaries. All other endpoints creating ShoppingListEntry use ShoppingListEntrySerializer, which validates and sanitizes these fields. This vulnerability is fixed in 2.6.4."
},
{
"lang": "es",
"value": "Tandoor Recipes es una aplicación para gestionar recetas, planificar comidas y crear listas de la compra. Anteriormente a la 2.6.4, el endpoint POST /API/food/{id}/shopping/ lee la cantidad y la unidad directamente de request.data y las pasa sin validación a ShoppingListEntry.objects.create(). Valores de cantidad no válidos (cadenas no numéricas) causan una excepción no manejada y un HTTP 500. Un ID de unidad de un Espacio diferente puede asociarse entre espacios, filtrando referencias de clave externa a través de los límites de los inquilinos. Todos los demás endpoints que crean ShoppingListEntry usan ShoppingListEntrySerializer, que valida y sanea estos campos. Esta vulnerabilidad se corrige en la 2.6.4."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "TandoorRecipes",
"product": "recipes",
"versions": [
{
"version": "< 2.6.4",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L",
"baseScore": 7.3,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"availabilityImpact": "LOW"
},
"exploitabilityScore": 3.9,
"impactScore": 3.4
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-04-07T15:57:25.623338Z",
"id": "CVE-2026-35489",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "yes"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-639"
},
{
"lang": "en",
"value": "CWE-1284"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:tandoor:recipes:*:*:*:*:*:*:*:*",
"versionEndExcluding": "2.6.4",
"matchCriteriaId": "D29C4837-2650-4BEF-A332-657E7D593877"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/TandoorRecipes/recipes/releases/tag/2.6.4",
"source": "[email protected]",
"tags": [
"Product",
"Release Notes"
]
},
{
"url": "https://github.com/TandoorRecipes/recipes/security/advisories/GHSA-8w8h-3pv2-3554",
"source": "[email protected]",
"tags": [
"Exploit",
"Mitigation",
"Vendor Advisory"
]
},
{
"url": "https://github.com/TandoorRecipes/recipes/security/advisories/GHSA-8w8h-3pv2-3554",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"tags": [
"Exploit",
"Mitigation",
"Vendor Advisory"
]
}
]
}