A vulnerability was found in theonedev onedev up to 15.0.5. Affected by this issue is some unknown functionality of the file /projects/ of the component Parent Project Handler. The manipulation of the argument project.parentId results in improper authorization. The attack may be performed from remote. Upgrading to version 15.0.6 can resolve this issue. It is recommended to upgrade the affected component.
A remote authorization bypass vulnerability exists in OneDev versions up to 15.0.5 affecting the Parent Project Handler component. An attacker can manipulate the project.parentId parameter to bypass authorization controls and gain unauthorized access to project resources. While no public exploit is available, the vulnerability requires immediate patching as it allows unauthenticated or low-privileged users to escalate access to sensitive project data.
Immediate Actions:
1. Identify all OneDev instances in your environment running versions up to 15.0.5
2. Restrict network access to OneDev servers to authorized users only using firewall rules
3. Review access logs for suspicious project.parentId parameter manipulation attempts
4. Audit all project hierarchy configurations for unauthorized parent-child relationships
Patching Guidance:
1. Upgrade OneDev to version 15.0.6 or later immediately
2. Test the upgrade in a staging environment before production deployment
3. Verify all project permissions are correctly restored after upgrade
Compensating Controls (if immediate patching not possible):
1. Implement Web Application Firewall (WAF) rules to block suspicious project.parentId parameters
2. Enable detailed logging and monitoring of /projects/ endpoint access
3. Restrict API access to OneDev to authenticated users only
4. Implement IP whitelisting for OneDev access
Detection Rules:
1. Monitor for repeated failed authorization attempts on /projects/ endpoint
2. Alert on project.parentId parameter values that don't match existing project hierarchies
3. Track changes to project parent-child relationships outside normal change management
4. Log all access attempts to projects by users without explicit permissions
الإجراءات الفورية:
1. تحديد جميع مثيلات OneDev في بيئتك التي تعمل بإصدارات حتى 15.0.5
2. تقييد الوصول إلى شبكة خوادم OneDev للمستخدمين المصرح لهم فقط باستخدام قواعد جدار الحماية
3. مراجعة سجلات الوصول لمحاولات التلاعب بمعامل project.parentId المريبة
4. تدقيق جميع تكوينات التسلسل الهرمي للمشروع للعلاقات الأب والابن غير المصرح بها
إرشادات التصحيح:
1. ترقية OneDev إلى الإصدار 15.0.6 أو أحدث على الفور
2. اختبار الترقية في بيئة التجريب قبل نشر الإنتاج
3. التحقق من استعادة جميع أذونات المشروع بشكل صحيح بعد الترقية
عناصر التحكم التعويضية (إذا لم يكن التصحيح الفوري ممكنًا):
1. تنفيذ قواعد جدار تطبيقات الويب (WAF) لحظر معاملات project.parentId المريبة
2. تفعيل السجلات المفصلة ومراقبة وصول نقطة نهاية /projects/
3. تقييد وصول API إلى OneDev للمستخدمين المصرح لهم فقط
4. تنفيذ القائمة البيضاء للعناوين IP لوصول OneDev
قواعد الكشف:
1. مراقبة محاولات التفويض الفاشلة المتكررة على نقطة نهاية /projects/
2. التنبيه على قيم معامل project.parentId التي لا تطابق التسلسلات الهرمية للمشروع الموجودة
3. تتبع التغييرات على علاقات الأب والابن للمشروع خارج إدارة التغيير العادية
4. تسجيل جميع محاولات الوصول إلى المشاريع من قبل المستخدمين بدون أذونات صريحة