Zwique

#2085من 60,403
130.4إجمالي CVSS
الثغرات · 17
متوسطة
6
عالية
6
حرجة
5
PT-2026-25822
2026-03-16
4.8
CVE-2026-32723
Sandboxjs
Sandboxjs
توجد في SandboxJS، وهي مكتبة لـ JavaScript مخصصة لعزل التطبيقات (sandboxing)، مشكلة تسمح للمؤقتات بتجاوز حصص التنفيذ. حيث يتم مشاركة حالة التكتكة العالمية (`currentTicks.current`) بين بيئات العزل. يتم ترجمة معالجات سلاسل المؤقتات في وقت التنفيذ باستخدام حالة التكتكة العالمية هذه بدلاً من كائن التكتكة الخاص بصندوق الحماية المسؤول عن الجدولة. في سيناريوهات صناديق الحماية متعددة المستأجرين أو المتزامنة، يمكن لصندوق حماية آخر أن يكتب فوق `currentTicks.current` بين مرحلة الجدولة ومرحلة التنفيذ، مما يتسبب في تشغيل استدعاء رد المؤقت ضمن ميزانية التكتكة الخاصة بصندوق حماية مختلف وتجاوز حصة التنفيذ الخاصة بصندوق الحماية الأصلي. وقد يؤدي ذلك إلى إساءة استخدام وحدة المعالجة المركزية (CPU) أو الموارد. ترجع المشكلة إلى الحالة العالمية القابلة للتغيير والمشتركة عبر جميع مثيلات الصناديق الرملية. تُستخدم المتغير `currentTicks.current` أثناء ترجمة المؤقت، وإذا تم تعديله بواسطة صندوق رمل آخر، فقد يتم تنفيذ المؤقت بميزانية تكت غير صحيحة. يُثبت نموذج إثبات المفهوم أن حلقة ثقيلة يمكن أن تكتمل وتتجاوز الحصة المخصصة عندما تعمل بيئة رملية أخرى قبل تشغيل المؤقت. ويؤثر هذا على التطبيقات التي تشغل عدة مثيلات لـ SandboxJS في وقت واحد، مثل المُترجمات متعددة المستأجرين ومحركات المكونات الإضافية ومضيفي البرمجة النصية من جانب الخادم.
PT-2026-24189
2026-03-10
9.9
CVE-2026-30956
Oneuptime
Oneuptime
يمكن لمستخدم ذي امتيازات منخفضة التحايل على التخويل والعزل بين المستأجرين في OneUptime عن طريق إرسال رأس `is-multi-tenant-query` مزور مع رأس `projectid` خاضع للتحكم. يثق الخادم بشكل خاطئ في هذا الرأس المقدم من العميل، متجاهلاً عمليات التحقق الداخلية من الأذونات في `BasePermission` ومعطلاً نطاق المستأجر. وهذا يسمح للمهاجمين بالوصول إلى بيانات المشاريع الخاصة بمستأجرين آخرين، وقراءة الحقول الحساسة الخاصة بالمستخدم (بما في ذلك `password` و`resetPasswordToken` و`webauthnChallenge`) من خلال العلاقات المتداخلة، وتسريب `resetPasswordToken` في نص عادي، وأخيرًا إعادة تعيين كلمة مرور الضحية، مما يؤدي إلى الاستيلاء الكامل على الحساب. تنجم هذه الثغرة الأمنية عن اعتماد النظام على رأس رسالة يتحكم فيه العميل لتحديد ما إذا كان يجب تجاوز عمليات التحقق من التفويض. تسمح العلاقة `createdByUser` داخل نموذج Project بالوصول إلى بيانات المستخدم الحساسة عند تجاوز عمليات التحقق من أذونات التحديد. يتم تخزين رمز إعادة تعيين كلمة المرور في نص عادي في قاعدة البيانات ويمكن استخدامه لإعادة تعيين كلمة مرور الضحية.
PT-2026-24116
2026-03-09
7.1
CVE-2026-30926
Siyuan
Siyuan
توجد ثغرة أمنية تتعلق برفع مستوى الامتيازات في خدمة النشر الخاصة بـ SiYuan Note. يمكن لحساب نشر ذي امتيازات منخفضة (RoleReader) تعديل محتوى دفتر الملاحظات عبر نقطة نهاية واجهة برمجة التطبيقات (API) `/api/block/appendHeadingChildren`. لا تتطلب نقطة النهاية سوى وظيفة `model.CheckAuth`، التي تقبل جلسات RoleReader، لكنها لا تطبق عمليات تحقق أكثر صرامة، مثل `CheckAdminRole` أو `CheckReadonly`. وهذا يسمح لمستخدم النشر الذي يتمتع بامتيازات القراءة فقط بإضافة كتل جديدة إلى المستندات الموجودة، مما قد يعرض سلامة الملاحظات المخزنة للخطر. تنبع هذه الثغرة الأمنية من عدم كفاية عمليات التحقق من التفويض القائمة على الأدوار في عمليات الكتابة، والتي لا تحميها سوى وظيفة `CheckAuth`. يقع الكود المعرض للخطر في ملفات `router.go` و`api/block.go` و`model/block.go` و`model/session.go`. وتعد نقطة نهاية واجهة برمجة التطبيقات (API) `/api/block/appendHeadingChildren` هي النقطة المحورية للمشكلة. المعلمتان `id` و`childrenDOM` هما المعلمتان المعرضتان للخطر المستخدمتان في الطلب.
PT-2026-24073
2026-03-07
9.8
CVE-2026-30869
Siyuan
Siyuan
توجد ثغرة أمنية تتعلق بتجاوز المسار في نقطة النهاية `/export`، مما يسمح للمهاجم بقراءة ملفات عشوائية من نظام ملفات الخادم. يتضمن الاستغلال استخدام تسلسلات تجاوز مشفرة مرتين للوصول إلى ملفات حساسة مثل `conf/conf.json`، التي تحتوي على معلومات سرية، بما في ذلك رمز API ومفتاح توقيع ملفات تعريف الارتباط ورمز المصادقة للوصول إلى مساحة العمل. قد يؤدي تسرب هذه الأسرار إلى منح وصول إداري إلى واجهة برمجة تطبيقات (API) نواة SiYuan، وقد يؤدي في بعض الحالات إلى تنفيذ التعليمات البرمجية عن بُعد (RCE). يوجد الكود المعرض للثغرة في `serve.go` (الأسطر 303، 315، 320، 340، 955-957) و`session.go` (الأسطر 292-295). تنجم هذه الثغرة الأمنية عن الاعتماد على ناتج `url.PathUnescape` وعملية التجميع دون التأكد من بقاء المسار الناتج ضمن `exportBaseDir`. يؤدي استخدام تسلسلات العبور المزدوجة الترميز (`%252e%252e`) إلى التحايل على رفض عناوين URL التي تحتوي على نقاط مزدوجة، في حين تمنح `CheckAuth` صلاحيات إدارية لطلبات localhost الموجهة إلى `/export/*` عندما يكون رمز مصادقة الوصول مُهيأً. تسمح إعدادات CORS العامة (`Access-Control-Allow-Origin: *`) للصفحات الإلكترونية الخبيثة بقراءة الردود الواردة من localhost. يمكن للمهاجم إرسال طلب GET إلى `/export/%252e%252e/%252e%252e/conf/conf.json` لاسترداد المعلومات
PT-2026-23615
2026-03-05
5.3
CVE-2026-30225
Olivetin
Olivetin
يتيح برنامج OliveTin الوصول إلى أوامر شل محددة مسبقًا عبر واجهة ويب. توجد ثغرة في وظيفة RestartAction حيث يمكن لمستخدم مسجل الدخول بامتيازات منخفضة تنفيذ إجراءات لا يملك الإذن بتنفيذها. ويحدث ذلك لأن RestartAction تنشئ طلبًا داخليًّا جديدًا دون الحفاظ على مصادقة المستدعي الأصلي، مما يجعل محلل المصادقة يلجأ إلى حساب الضيف. وإذا كانت حساب الضيف يتمتع بأذونات أوسع نطاقًا من المستخدم المصادق عليه، فإن ذلك يؤدي إلى تصعيد الامتيازات وتنفيذ الأوامر دون إذن. تنبع المشكلة من إنشاء طلب connect.Request جديد داخل RestartAction، والذي يتجاهل رؤوس المصادقة وملفات تعريف الارتباط الخاصة بالمستدعي الأصلي. وهذا يسمح للمستخدم بالتحايل على قوائم التحكم في الوصول (ACL) وتنفيذ إجراءات شل عشوائية مكونة مسبقًا. تشمل الملفات المعرضة للثغرة service/internal/api/api.go و service/internal/auth/authcheck.go. تشارك الدالة `StartAction` والدالة `UserFromApiCall()` في عملية المصادقة. يثبت نموذج إثبات المفهوم أن مستخدمًا يتمتع بامتيازات منخفضة يمكنه تنفيذ أوامر باستخدام نقطة النهاية RestartAction ومعرّف تتبع التنفيذ. وقد يؤدي ذلك إلى الكتابة التعسفية للملفات، وكشف البيانات الحساسة، واحتمال الاختراق الكامل للمضيف، اعتمادًا على الامتيازات
PT-2026-23614
2026-03-05
5.4
CVE-2026-30224
Olivetin
Olivetin
لا يقوم OliveTin بإلغاء صلاحية الجلسات من جانب الخادم بشكل صحيح بعد تسجيل خروج المستخدم. على الرغم من مسح ملف تعريف الارتباط (cookie) من المتصفح أثناء تسجيل الخروج، تظل الجلسة المقابلة صالحة في مخزن الخادم حتى انتهاء صلاحيتها الطبيعية، والتي تبلغ تقريبًا سنة واحدة بشكل افتراضي. يمكن للمهاجم الذي يمتلك ملف تعريف ارتباط جلسة تم سرقته أو التقاطه مسبقًا أن يستمر في المصادقة بعد قيام المستخدم بتسجيل الخروج، مما يؤدي إلى تجاوز المصادقة بعد تسجيل الخروج. وهذا يمثل خللاً في إدارة الجلسات ينتهك المعايير المتوقعة لعملية تسجيل الخروج. تنشأ المشكلة عن الفشل في حذف معرّف الجلسة (SID) من ذاكرة التخزين على جانب الخادم أثناء عملية تسجيل الخروج. وعلى وجه التحديد، فإن الملفات `api.go` و`sessions.go` و`local.go`، في الأسطر 392-427 و39-59 و61-80 و32-47 على التوالي، متورطة في إدارة الجلسة المعيبة. تسمح هذه الثغرة للمهاجم بإعادة استخدام معرّف جلسة قديم بعد تسجيل الخروج للحفاظ على المصادقة. **نقاط نهاية واجهة برمجة التطبيقات (API)** المتأثرة هي `/api/Logout` و`/api/WhoAmI`. المتغير المعرض للخطر هو `sid`.
PT-2026-23613
2026-03-05
8.8
CVE-2026-30223
Olivetin
Olivetin
يتيح OliveTin الوصول إلى أوامر شل محددة مسبقًا من خلال واجهة ويب. عند تكوين مصادقة JWT باستخدام مفتاح RSA عام محلي (`authJwtPubKeyPath`) أو سر HMAC (`authJwtHmacSecret`)، لا يتم فرض قيمة الجمهور المكونة (`authJwtAud`) أثناء تحليل الرمز المميز. وهذا يسمح بالمصادقة باستخدام رموز JWT مخصصة لجمهور أو خدمة مختلفة. تكمن المشكلة في ملف `jwt.go`، وتحديدًا في الأسطر 51–59 و144–157 و161–168. في «وضع المفتاح العام المحلي» و«وضع HMAC»، لا يتم توفير الخيار `jwt.WithAudience()`، مما يؤدي إلى تجاوز التحقق من صحة الجمهور. يمكن للمهاجم الذي يمتلك رمز JWT صالحًا وموقّعًا بالمفتاح المُعدّ، ولكنه موجه إلى جمهور مختلف، أن يقوم بالمصادقة بنجاح. وهذا يسمح بإعادة استخدام الرموز بين الخدمات، والمصادقة باستخدام الرموز الصادرة لأنظمة أخرى، وانتهاك حدود الثقة في بيئات الخدمات المتعددة. تتأثر نقطة نهاية واجهة برمجة التطبيقات `’/api/WhoAmI‘`، ويتم استخدام رأس `Authorization` لتمرير رمز JWT. تشمل المعلمات المعرضة للخطر المطالبة `aud` داخل رمز JWT. يُعد هذا عيبًا في التحقق من صحة المصادقة حصريًّا ولا يتجاوز تفويض قائمة التحكم في الوصول (ACL).