Tandoor Recipes — приложение для управления рецептами, планирования блюд и составления списков покупок. До версии 2.6.4 конечная точка POST /api/food/{id}/shopping/ считывает сумму и единицу измерения непосредственно из request.data и передает их без проверки в ShoppingListEntry.objects.create(). Недопустимые значения суммы (нечисловые строки) вызывают необработанное исключение и HTTP 500.
Идентификатор устройства из другого пространства может быть связан с другим пространством, что приведет к утечке ссылок на внешние ключи через границы клиента. Все остальные конечные точки, создающие ShoppingListEntry, используют ShoppingListEntrySerializer, который проверяет и очищает эти поля. Эта уязвимость исправлена в версии 2.6.4.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v3.1