في 4 يونيو 2026 أصدر مشروع PHP الإصدارين 8.5.7 و8.4.22، وأُعلن عن كليهما بوصفهما إصدارين لإصلاح الأخطاء لا إصدارين أمنيين. ومع ذلك يذكر سجل تغييرات 8.5.7 إصلاح ثغرتين في امتداد URI الذي أضافه PHP 8.5 ويعتمد على مكتبة uriparser المضمّنة. أما سجل 8.4.22 فلا يذكر أي إصلاح أمني.
نظرة سريعة
| البند | التفاصيل |
|---|---|
| المنتج | PHP 8.5 (امتداد URI ومكتبة uriparser المضمّنة) |
| الإصدار المصحح | 8.5.7 (4 يونيو 2026) |
| الثغرات | CVE-2026-44927، CVE-2026-44928 |
| الخطورة | منخفضة (2.9 وفق CVSS 3.1 في سجلي الثغرتين) |
| غير متأثر | PHP 8.2 و8.3 و8.4، إذ لا تحتوي على امتداد URI |
ما هي الثغرات
أضاف PHP 8.5 امتداد URI المتاح دائمًا، وهو يحلل عناوين URL ويوحّدها وفق المعيارين RFC 3986 وWHATWG URL. ويعتمد جانب RFC 3986 على مكتبة uriparser التي يحملها php-src في المسار ext/uri/uriparser. وفي شجرة php-src انتقلت النسخة المضمّنة من uriparser 1.0.1 في وسم 8.5.6 إلى 1.0.2 في وسم 8.5.7، فشملت إصلاح مشكلتين في المكتبة الأصلية:
- CVE-2026-44927: في إصدارات uriparser قبل 1.0.2 كانت فروق المؤشرات تُقتطع إلى النوع
intفي عدة مواضع. - CVE-2026-44928: في إصدارات uriparser قبل 1.0.2 قد تصنّف مجموعة الدوال
EqualsUriعنوانين مختلفين على أنهما متساويان.
صدر سجلا الثغرتين عن MITRE بوصفها الجهة المصدرة، ويمنح كل منهما درجة 2.9 (منخفضة) وفق CVSS 3.1، مع متجه هجوم محلي وتعقيد هجوم مرتفع. ولم ينشر مشروع PHP إشعارًا أمنيًا مستقلًا أو تصنيف خطورة لهما. وللتوضيح، فإن الدالة Uri\Rfc3986\Uri::equals() في 8.5.7 تقارن نصوص العناوين بعد تسلسلها ولا تستدعي EqualsUri من uriparser، بحسب الكود المصدري لـ php-src. ولا تظهر أي من الثغرتين في كتالوج CISA للثغرات المستغلة فعليًا (نسخة 30 أكتوبر 2026).
هل أنت متأثر؟
وحدها بناءات PHP 8.5 الأقدم من 8.5.7 تحتوي على النسخة القديمة من uriparser. تحقق من إصدارك:
php -v
php -r 'echo PHP_VERSION, PHP_EOL;'يأتي Debian 13 (trixie) مع PHP 8.4 ولا يحتوي على حزمة مصدر php8.5، فحزم PHP الخاصة بـ Debian ليست معنية. أما حزمة مكتبة uriparser المستقلة في Debian فتتابعها صفحة المتتبع الأمني للثغرة CVE-2026-44928، وقد صنفها فريق الأمن مشكلة بسيطة لا تستدعي إشعار DSA لإصداري trixie وbookworm. وإن كنت تثبّت PHP 8.5 من مستودع آخر أو صورة حاوية أو بناء من المصدر، فالعبرة بنتيجة فحص الإصدار أعلاه.
طريقة التحديث
حدّث PHP 8.5 إلى أحدث إصدار لا إلى 8.5.7 نفسه، فإصدارات 8.5 اللاحقة تتضمن إصلاحات أمنية إضافية، والإصدار الحالي حتى 31 أكتوبر 2026 هو 8.5.12. استخدم القناة التي ثبّت منها PHP: مستودع الحزم، أو صورة حاوية معاد بناؤها، أو تنزيلات المصدر وWindows في صفحة التنزيلات في php.net.
هل تحتاج إلى إعادة تشغيل؟
لا حاجة لإعادة تشغيل الخادم. أعد تشغيل PHP-FPM وApache مع mod_php وعمّال PHP طويلي الأمد ليحمّلوا البناء الجديد.
المصادر
- php.net/releases/8_5_7.php
- php.net/releases/8_4_22.php
- php.net/ChangeLog-8.php#8.5.7
- php.net/releases/8.5/en.php
- github.com/php/php-src/tree/php-8.5.7/ext/uri/uriparser
- github.com/php/php-src/blob/php-8.5.7/ext/uri/php_uri.c
- cve.org/CVERecord?id=CVE-2026-44927
- cve.org/CVERecord?id=CVE-2026-44928
- nvd.nist.gov/vuln/detail/CVE-2026-44928
- security-tracker.debian.org/tracker/CVE-2026-44928
- packages.debian.org/source/trixie/php8.4
- cisa.gov/known-exploited-vulnerabilities-catalog
Comments
0 total · 0 threads