ماذا حدث
CVE-2026-45829 هي ثغرة أمنية حرجة في ChromaDB's optional Python FastAPI server. يمكن أن يوفر طلب التجميع تكوين وظيفة التضمين الذي يشير إلى كود النموذج البعيد، ويمكن لواجهة Python الخلفية المتأثرة تهيئة هذا التكوين قبل اكتمال التفويض [S1][S2][S3]. ChromaDB's default Rust frontend لا يستخدم المسار Python المتأثر ولا يشمله هذا الاستشارة [S2][S3].
التأثير والمتطلبات الأساسية
يتطلب الاستغلال عملية نشر تقوم فعليًا بتشغيل الواجهة الخلفية لـ Python FastAPI، وقبول الطلبات من مصدر غير موثوق به، ويمكنها معالجة التجميع الذي يتحكم فيه المهاجم وتكوين وظيفة التضمين. إذا تم استيفاء هذه الشروط، فإن الاستشارة تصف تنفيذ التعليمات البرمجية باستخدام امتيازات معالجة خادم ChromaDB [S1][S3].
يسرد سجل CNA ChromaDB 1.0.0 والإصدارات الأحدث على أنها متأثرة [S1]. في وقت هذه المراجعة، لم يحدد البحث العام إصدارًا مصححًا مؤكدًا من قبل البائع رقم Python، وأدرج سجل الحزمة الرسمي 1.5.9 كأحدث إصدار مستقر [S3][S4]. وهذا لا يجعل كل عمليات نشر ChromaDB عرضة للخطر: فالواجهة الأمامية الافتراضية لـ Rust تقع خارج المسار المتأثر [S2][S3].
إصلاحات ملموسة
- انتقل إلى الخادم Rust. استخدم Chroma's supported Rust-based server path، مثل
chroma runأو نشر الحاوية المدعومة Rust [S2][S3]. - تقييد التعرض للخدمة. يتطلب الوصول إلى شبكة موثوقة أو VPN أو SSO أو الوصول إلى الوكيل العكسي المصادق عليه قبل أن تصل الطلبات إلى ChromaDB. لا تعتمد على إخفاء مسار API واحد.
- تقييد الوصول للخارج. قم بتقييد الخروج غير الضروري من خدمة ChromaDB إلى سجلات النماذج العامة وخدمات استضافة التعليمات البرمجية.
- مراجعة التعرض المحتمل. إذا كان من الممكن الوصول إلى واجهة Python الخلفية من شبكة غير موثوقة، فراجع سجلات الوصول إلى ChromaDB، وتنزيلات النماذج غير المتوقعة، ونشاط العملية والمضيف، ومتغيرات البيئة، وبيانات الاعتماد المثبتة، والبيانات التي يمكن الوصول إليها.
- التحقق من صحة الإصلاحات المستقبلية Python. إذا بقيت على الواجهة الخلفية لـ Python، فقم بنشر إصدار مصحح مؤكد من قبل البائع أو منفذ خلفي مدعوم وتحقق من العملية الجارية والصورة ومخزون الحزمة.
مغطاة بـ FixVibe
يغطي FixVibe هذه الاستشارة من خلال فحص للقراءة فقط يتم تشغيله فقط لأهداف الفحص النشط التي تم التحقق منها. وهو يحدد الرقم ChromaDB Python deployment ذي الصلة ويربط معلومات إصداره بالبيانات الاستشارية التي تمت مراجعتها. لا يؤدي الفحص إلى إنشاء أو تعديل موارد ChromaDB، أو توفير مستودع نموذج، أو تمكين الثقة في التعليمات البرمجية عن بعد، أو تشغيل تنزيلات النموذج، أو اختبار تجاوز الترخيص، أو تنفيذ التعليمات البرمجية.
النتيجة هي أالاستشارة المستندة إلى الإصدار. يرى العملاء الخدمة المكتشفة والواجهة الخلفية وسياق الإصدار والثقة ومراجع المصدر والمتطلبات الأساسية وإرشادات المعالجة. وهذا ليس دليلاً على تجاوز التفويض، أو تحميل نموذج بعيد، أو تنفيذ التعليمات البرمجية. يمكن أن تتطلب المنافذ الخلفية الخاصة والشوكات وبيانات تعريف الخدمة القديمة والوسطاء الذين يقومون بإعادة إنتاج API تأكيدًا من المشغل.
