الإصلاح الأمني
ننصح اليوم جميع العملاء الذين يستخدمون XenForo بأنه تم تحديد ثغرة أمنية محتملة. يجب على جميع العملاء المتأثرين إما الترقية إلى XenForo 2.1.15 أو XenForo 2.2.16.
إذا كنت أحد عملاء XenForo Cloud، فقد تم طرح الإصلاح تلقائيًا، ولا يلزم اتخاذ أي إجراء آخر لمعالجة هذه المشكلة.
إذا كنت تقوم بتشغيل إصدار ما قبل النشر من XenForo 2.3، فيجب عليك اتباع الإرشادات الموجودة في سلسلة الإعلانات الخاصة بإصدار XenForo 2.3.0 Release Candidate 1.
تتعلق المشكلة باحتمال تزوير طلب عبر المواقع وثغرة أمنية لإدخال التعليمات البرمجية مما قد يؤدي إلى تنفيذ تعليمات برمجية عن بعد (RCE) أو استغلال البرمجة النصية عبر المواقع (XSS).
تتقدم XenForo بالشكر إلى الباحث الأمني المستقل Egidio Romano (EgiX)، الذي يعمل مع SSD Secure Disclosure.
نوصي بإجراء ترقية كاملة لحل المشكلة، ولكن يمكن تطبيق التصحيح يدويًا على أي إصدار. انظر أدناه للحصول على مزيد من التفاصيل.
تطبيق التصحيح يدويا
لتصحيح هذه المشكلة يدويًا، ستحتاج إلى تحرير ملف واحد يدويًا وتحميل بعض الملفات التي تم تغييرها.
الخطوة 1:
افتح الملف src/XF.php
ابحث عن السطر التالي:
استبدل السطر السابق بما يلي:
ملاحظة: لا يمكن تصحيح هذا الملف تلقائيًا لأنه يحتوي على بيانات خاصة بالتثبيت. يجب عليك تطبيق هذا التغيير يدويًا على أي تثبيت XenForo يعمل باصدار XenForo 2.1 أو 2.2 لإصلاح المشكلة بشكل فعال.
الخطوة 2: تحميل ملفات XF
كما هو الحال دائمًا، يمكن تنزيل الإصدارات الجديدة من XenForo مجانًا لجميع العملاء الذين لديهم تراخيص نشطة، والذين يمكنهم الآن الحصول على الإصدار الجديد من منطقة العملاء أو الترقية من لوحة تحكم المسؤول (الأدوات > التحقق من وجود ترقيات...).
تم إصدار XenForo 2.2.16
XenForo 2.2.16 متاح الآن لجميع العملاء المرخصين للتنزيل. نوصي بشدة جميع العملاء الذين يستخدمون الإصدارات السابقة من XenForo 2.2 بالترقية إلى هذا الإصدار للاستفادة من الاستقرار المتزايد.
بعض التغيرات التي شملت XF 2.2.16 :
المتطلبات الحالية
يرجى ملاحظة أن XenForo 2.2 لديه متطلبات نظام أعلى من الإصدارات السابقة.
وفيما يلي الحد الأدنى من المتطلبات:
ننصح اليوم جميع العملاء الذين يستخدمون XenForo بأنه تم تحديد ثغرة أمنية محتملة. يجب على جميع العملاء المتأثرين إما الترقية إلى XenForo 2.1.15 أو XenForo 2.2.16.
إذا كنت أحد عملاء XenForo Cloud، فقد تم طرح الإصلاح تلقائيًا، ولا يلزم اتخاذ أي إجراء آخر لمعالجة هذه المشكلة.
إذا كنت تقوم بتشغيل إصدار ما قبل النشر من XenForo 2.3، فيجب عليك اتباع الإرشادات الموجودة في سلسلة الإعلانات الخاصة بإصدار XenForo 2.3.0 Release Candidate 1.
تتعلق المشكلة باحتمال تزوير طلب عبر المواقع وثغرة أمنية لإدخال التعليمات البرمجية مما قد يؤدي إلى تنفيذ تعليمات برمجية عن بعد (RCE) أو استغلال البرمجة النصية عبر المواقع (XSS).
تتقدم XenForo بالشكر إلى الباحث الأمني المستقل Egidio Romano (EgiX)، الذي يعمل مع SSD Secure Disclosure.
نوصي بإجراء ترقية كاملة لحل المشكلة، ولكن يمكن تطبيق التصحيح يدويًا على أي إصدار. انظر أدناه للحصول على مزيد من التفاصيل.
تطبيق التصحيح يدويا
لتصحيح هذه المشكلة يدويًا، ستحتاج إلى تحرير ملف واحد يدويًا وتحميل بعض الملفات التي تم تغييرها.
الخطوة 1:
افتح الملف src/XF.php
ابحث عن السطر التالي:
PHP:
$parts = explode(':', $string, 3);
استبدل السطر السابق بما يلي:
PHP:
if (!$string) return '';
if (strpos($string, ':') === false)
{
$pattern = '#^\\\?'
. str_replace('%s', '([A-Za-z0-9_\\\]+)', preg_quote(ltrim($formatter, '\\')))
. '$#';
if (!preg_match($pattern, $string, $matches))
{
throw new \InvalidArgumentException(sprintf(
'Class %s does not match formatter pattern %s',
$string,
$formatter
));
}
// already a class
return $string;
}
$parts = explode(':', $string, 3);
ملاحظة: لا يمكن تصحيح هذا الملف تلقائيًا لأنه يحتوي على بيانات خاصة بالتثبيت. يجب عليك تطبيق هذا التغيير يدويًا على أي تثبيت XenForo يعمل باصدار XenForo 2.1 أو 2.2 لإصلاح المشكلة بشكل فعال.
الخطوة 2: تحميل ملفات XF
- قم بتحميل سواءا
2115-patch.zip
(لـ XenForo 2.1) أو2216-patch.zip
(لـ XenForo 2.2). - قم بفك الضغط عن ملف .zip
- قم بتحميل محتويات الملف السابق الى مسار تثبيت XenForo الخاص بك
- قم بتحميل سواءا
xfmg219-patch.zip
(لـ XenForo Media Gallery 2.1) أوxfmg226-patch.zip
(لـ XenForo Media Gallery 2.2). - قم بفك الضغط عن ملف .zip
- قم بتحميل محتويات الملف السابق الى مسار تثبيت XenForo الخاص بك
كما هو الحال دائمًا، يمكن تنزيل الإصدارات الجديدة من XenForo مجانًا لجميع العملاء الذين لديهم تراخيص نشطة، والذين يمكنهم الآن الحصول على الإصدار الجديد من منطقة العملاء أو الترقية من لوحة تحكم المسؤول (الأدوات > التحقق من وجود ترقيات...).
تم إصدار XenForo 2.2.16
XenForo 2.2.16 متاح الآن لجميع العملاء المرخصين للتنزيل. نوصي بشدة جميع العملاء الذين يستخدمون الإصدارات السابقة من XenForo 2.2 بالترقية إلى هذا الإصدار للاستفادة من الاستقرار المتزايد.
بعض التغيرات التي شملت XF 2.2.16 :
كما هو الحال دائمًا، يمكن تنزيل الإصدارات الجديدة من XenForo مجانًا لجميع العملاء الذين لديهم تراخيص نشطة. يمكنك الآن الترقية من لوحة تحكم المشرف أو الحصول على الإصدار الجديد من منطقة العملاء.
- Fix some issues with xf-dev:class-use-function to better support classes with class attributes and comments, or existing use function declarations.
- Fix persistent action indicator when using back/forward navigation
- Add _deleteFromSource method to support performing tasks right before entity deletion
- Skip logging IPs when updating avatars during registration
- Fix docblock return hint for \XF\Util\Ip::checkIpsAgainstBinaryRangeList
- Add missing security locked phrase
- Expose additional parameters to the reported_thread_title phrase
- Ensure sticky threads are passed to the fetchExtraContentForThreadsFullView method
- Adjust the phrasing of mail encryption options
- Update purchase requests on user merge
- Set aria-label for tooltips with no children
- Skip processing email bounces and unsubscribes when email has been disabled in config.php
- Gracefully handle errors when editing bookmarks
- Clean up temp files after job completion
- Add proper ordering to the shared IPs tab
- Add an index hint to the newest members widget
- Avoid generating invalid SQL with XF\Db\Schema\Column::values()
- Prevent disabled accounts from using the admin control panel
- Include a plain confirmation URL in the email sent to users awaiting email confirmation
المتطلبات الحالية
يرجى ملاحظة أن XenForo 2.2 لديه متطلبات نظام أعلى من الإصدارات السابقة.
وفيما يلي الحد الأدنى من المتطلبات:
- PHP 7.2 أو أحدث (يوصى باستخدام PHP 8.2)
- MySQL 5.5 والأحدث (متوافق أيضًا مع MariaDB/Percona وما إلى ذلك)
- جميع الإضافات الرسمية تتطلب XenForo 2.2.
- يتطلب البحث المحسّن Elasticsearch 2.0 على الأقل.
المرفقات
التعديل الأخير: