
تحليل فني مفصل لـ CVE-2026-47777، وهو تجاوز تفويض عالي الخطورة في خط أنابيب اتحاد المجموعات المميزة في ماستودون، بما في ذلك السبب الجذري وإثبات المفهوم والتصحيح.
لقد قمت بإبلاغ مسؤول عن ثغرة تجاوز التحقق من الإذن عالية الخطورة تؤثر على خط أنابيب الفيدرالية للمجموعات المميزة التجريبية في Mastodon.
معرف CVE: CVE-2026-47777
ActivityPub::VerifyFeaturedItemService| الدرجة | المتجه |
|---|---|
| 7.5 (عالية) | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
قبل خط أنابيب التحقق من المجموعات المميزة كائن FeatureAuthorization مزور دون التحقق من أن الإذن ينتمي فعليًا للحساب المميز.
منطق التحقق كان يضمن فقط ما يلي:
ومع ذلك، فإنه لم يتحقق مما إذا كان:
FeatureAuthorization.interactionTarget
يطابق الحساب الذي يتم إدراجه في المجموعة.
ونتيجة لذلك، يمكن لمثيل Mastodon فيدرالي ضار تزوير مستندات الإذن والإشارة زورًا إلى أن المستخدمين البعيدين التعسفيين قد وافقوا على الظهور في المجموعات المميزة المنسقة.
نتج عن ذلك تجاوز التحقق من الإذن يؤثر على سلامة الفيدرالية.
كان سبب الثغرة هو عدم وجود ربط هوية داخل:
ActivityPub::VerifyFeaturedItemService
فشلت الخدمة في مقارنة:
CollectionItem.object_uri
مع
FeatureAuthorization.interactionTarget
ونظرًا لغياب هذا التحقق، يمكن إعادة استخدام كائنات الإذن لحسابات ضحايا غير مرتبطة.
يمكن للمهاجم:
FeatureAuthorizationالتأثير: سلامة الفيدرالية (سلامة فقط)
السرية لم تتأثر.
التحقق المفقود كان فعليًا:
return if @collection_item.object_uri != value_or_id(@authorization['interactionTarget'])
بدون هذا التحقق من الهوية، يمكن قبول مستندات الإذن التي تم إنشاؤها بواسطة نطاق يتحكم فيه المهاجم لمستخدمين غير مرتبطين.
تم التحقق من الثغرة بشكل مستقل باستخدام طرق متعددة:
اختبرت أداة التحقق المخصصة بلغة Python كل تباين @context في JSON-LD المدعوم الذي يقبله محلل Mastodon.
أكد التحليل أن الثغرة نشأت من عدم وجود ربط الإذن، وليس من تحليل JSON-LD.
سير عمل الاستغلال هو:
FeatureAuthorization مزور.يظهر حساب الضحية كما لو أنه وافق على الظهور، على الرغم من عدم منح الإذن مطلقًا.
تم حل المشكلة من خلال إدخال تحقق صريح من الهوية بين:
CollectionItem.object_uri)FeatureAuthorization.interactionTarget)قبل قبول الإذن.
شكر خاص لـ فريق أمان Mastodon على مراجعة التقرير، والتحقق من المشكلة، وتعيين CVE-2026-47777، وتنفيذ إصلاح أمني منسق من خلال الإبلاغ المسؤول.
باحث أمني: Bekzod
تم الإبلاغ المسؤول وفقًا لممارسات الإبلاغ المنسق عن الثغرات.
| التاريخ | الحدث |
|---|
| 2026 | اكتمل البحث |
| 2026 | تم تقديم الإبلاغ المسؤول |
| 2026 | تم إعادة إنتاج الثغرة |
| 2026 | تم تعيين CVE (CVE-2026-47777) |
| 2026 | تم إصدار التصحيح (Mastodon 4.6.0-beta.1) |