
إفصاح عن CVE-2025-9886 و CVE-2025-9952
Disclosure for CVE-2025-9886 and CVE-2025-9952.
يكشف هذا المستودع عن ثغرة تم اكتشافها في Trinity Audio <= 5.20.1،إضافة ووردبريس تم تطويرها بواسطة sergiotrinity.
| CVE ID | النوع | المكون | التأثير |
|---|---|---|---|
| CVE-2025-9886 | تزوير الطلب عبر المواقع | admin/inc/post-management.php | تمكين/تعطيل شامل لـ Trinity Audio على المنشورات ضمن جلسة الضحية |
| CVE-2025-9952 | البرمجة النصية عبر المواقع المنعكسة | admin/inc/post-management.php | تنفيذ نصوص عشوائية |
المكون المتأثر: معالج صفحة إدارة المنشورات (admin/inc/post-management.php)
ناقل الهجوم: طلب POST من أصل مختلف إلى wp-admin/admin.php?page=trinity_audio_post_management
المحفز: مسؤول موثوق يزور صفحة يتحكم بها المهاجم تقدم تلقائياً نموذجاً معداً
التأثير: يجبر المهاجم تغييرات حالة شاملة (تمكين/تعطيل Trinity Audio على جميع المنشورات أو نطاق تاريخي) باستخدام صلاحيات المسؤول، مما يضر بالتكامل وربما التوفر
المكون المتأثر: معالج صفحة إدارة المنشورات (admin/inc/post-management.php)
ناقل الهجوم: طلب POST من أصل مختلف إلى wp-admin/admin.php?page=trinity_audio_post_management مع post-management-action=activate-all-posts-range و range-before-after=after وتاريخ صالح متبوع بـ HTML.
المحفز: مسؤول موثوق يزور صفحة يتحكم بها المهاجم تقدم تلقائياً النموذج المعد. يجب أن يكون هناك على الأقل منشور واحد منشور بعد التاريخ المقدم.
التأثير: يتم تنفيذ جافا سكريبت عشوائي في أصل المسؤول، مما يمكن من سرقة الجلسة أو التلاعب بالإعدادات أو تسلسل هجمات CSRF.
من خلال الجمع بين هاتين الثغرتين، يمكن للمهاجم تنفيذ نصوص عشوائية عن طريق توجيه المستخدمين إلى موقع يحتوي على النموذج التالي.
<form method="POST" action="https://victim.example.com/wp-admin/admin.php?page=trinity_audio_post_management">
<input type="hidden" name="action" value="1">
<input type="hidden" name="post-management-action" value="activate-all-posts-range">
<input type="hidden" name="range-before-after" value="after">
<input type="hidden" name="range-date" value="2025-09-03<img src=x onerror=alert(document.domain)>">
</form>
<script>document.forms[0].submit();</script>
CSRF (CVE-2025-9886): نقطة النهاية التي تغير الحالة تقبل الطلبات عبر المواقع دون دفاعات CSRF. لا يوجد التحقق من nonce (check_admin_referer/wp_verify_nonce) ولا التحقق من Origin/Referer. نظراً لأن ملفات تعريف الارتباط تُرسل تلقائياً، يمكن للمهاجم التسبب في تنفيذ إجراءات ضمن جلسة مستخدم موثوق.
Reflected XSS (CVE-2025-9952): معالج إدارة المنشورات (admin/inc/post-management.php) يقوم بإدراج قيمة POST الخاصة بـ range-date في إشعار النجاح دون ترميز الإخراج (لا يوجد esc_html()/wp_kses())، مما يسمح بحقن HTML/JS.
على الرغم من أنها تبدو مجرد CSRF و SelfXSS، إلا أنه من خلال الجمع بينهما، إذا نجح CSRF، يمكن تنفيذ أي كود JS. كان من الممتع إنشاء PoC مثير للاهتمام كهذا.
الاسم: MooseLove
الدور: باحث أمني مستقل / صائد ثغرات
جهة الاتصال: متاح عند الطلب
يتم تقديم هذا التنبيه للتوعية الأمنية العامة. مجاني للمشاركة مع الإسناد.