wger — бесплатный менеджер тренировок и фитнеса с открытым исходным кодом. В версиях до 2.4 включительно три конечные точки действия `nutritional_values` извлекают объекты через `Model.objects.get(pk=pk)` — необработанный вызов ORM, который обходит набор запросов на уровне пользователя. Любой аутентифицированный пользователь может прочитать данные личного плана питания другого пользователя, включая потребление калорий и полную макроэкономическую разбивку, предоставив произвольный PK.
Коммит 29876a1954fe959e4b58ef070170e81703dab60e содержит исправление этой проблемы.
Показать оригинальное описание (EN)
wger is a free, open-source workout and fitness manager. In versions up to and including 2.4, three `nutritional_values` action endpoints fetch objects via `Model.objects.get(pk=pk)` — a raw ORM call that bypasses the user-scoped queryset. Any authenticated user can read another user's private nutrition plan data, including caloric intake and full macro breakdown, by supplying an arbitrary PK. Commit 29876a1954fe959e4b58ef070170e81703dab60e contains a fix for the issue.
Характеристики атаки
Последствия
Строка CVSS v3.1