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.
wger fitness manager versions up to 2.4 contain an authorization bypass vulnerability allowing authenticated users to access other users' private nutrition plans through direct object references. The vulnerability affects nutritional_values endpoints that use raw ORM calls bypassing user-scoped querysets.
يحتوي تطبيق إدارة اللياقة البدنية wger على ثغرة في التحكم بالوصول تسمح للمستخدمين المصرح لهم بالوصول إلى بيانات الخطط الغذائية الخاصة للمستخدمين الآخرين. تستخدم نقاط النهاية استدعاءات ORM مباشرة دون التحقق من نطاق المستخدم، مما يسمح بقراءة السعرات الحرارية والمغذيات الكبرى للآخرين.
A medium-severity authorization bypass in wger allows any authenticated user to read private nutrition data of other users by manipulating primary keys. This affects fitness tracking applications used in Saudi organizations and gyms.
Upgrade wger to version 2.5 or later. Apply commit 29876a1954fe959e4b58ef070170e81703dab60e or later. Implement proper user-scoped querysets for all nutritional_values endpoints. Conduct code review of ORM calls to ensure authorization checks are applied. Implement access control testing in CI/CD pipeline.
قم بترقية wger إلى الإصدار 2.5 أو أحدث. طبق الإصلاح من commit 29876a1954fe959e4b58ef070170e81703dab60e. تأكد من استخدام querysets محدودة بنطاق المستخدم لجميع نقاط نهاية التغذية. أجرِ مراجعة شاملة لاستدعاءات ORM للتحقق من تطبيق فحوصات التفويض.