Gitea · Gitea · CVE-2026-56443
**اسم البرنامج المعرض للخطر والإصدارات المتأثرة**
Gitea الإصدار 1.26.2
**الوصف**
يوجد ثغرة تسمح بتجاوز نطاق رمز الوصول الشخصي (PAT) `public-only` عندما تكون إعدادات الرؤية الخاصة بالمالك مضبوطة على «محدودة» (داخل المثيل). في حين أن فئات النطاق الأخرى ترفض بشكل صحيح المالكين ذوي الرؤية ”محدودة“، فإن فئتي ’المستودع‘ و”الحزمة“ تتحققان فقط مما إذا كان المورد خاصًا، دون مراعاة الرؤية ”المحدودة“. وهذا يسمح لرمز الوصول ذي نطاق `public-only` بالوصول إلى المحتوى الذي ينبغي أن يقتصر على المستخدمين الداخليين، متجاوزًا نطاق وصول المستخدم المجهول.
تشمل التفاصيل الفنية المجالات المتأثرة التالية:
- **نقاط نهاية واجهة برمجة التطبيقات (API):** حزم API v1، وجميع سجلات الحزم الأصلية البالغ عددها 24 عبر `/api/packages/<type>/...`، وجميع نقاط نهاية فئة المستودع في API v1 (بما في ذلك المحتوى، والمشكلات، وطلبات السحب، والإصدارات، والتسميات، والمعالم)، ونقاط نهاية التنزيل عبر الويب مثل `/raw` و`/media` و`/attachments`، بالإضافة إلى مسارات LFS.
- **المعلمات أو المتغيرات المعرضة للخطر:** نطاق PAT `public-only`.
- **أسماء الوظائف:** `checkTokenPublicOnly()`، و`reqPackageAccess()`، و`TokenCanAccessRepo()`، و`CheckTokenScopes()`.
**التوصيات**
قم بتحديث Gitea إلى إصدار تم فيه تنفيذ التغييرات التالية:
- في `checkTokenPublicOnly()` و`reqPackageAccess()`، قم بتغيير فحص الرؤية من `IsPrivate()` إلى `!IsPublic()` لمالكي الحزم.
- في `TokenCanAccessRepo()`، تأكد من أن الفحص يتحقق من أن رؤية مالك المستودع عامة عندما يكون `public-only` نشطًا.
- في `CheckTok