في 2 يوليو 2026 أصدر مشروع PHP الإصدارات 8.5.8 و8.4.23 و8.3.32 و8.2.32 بوصفها إصدارات أمنية (ويحمل سجل تغييرات 8.4.23 تاريخ 3 يوليو). وتلقى كل فرع إصلاحًا لخلل إفساد ذاكرة في وضع تغليف مفاتيح AES بالحشو ضمن امتداد OpenSSL، كما تلقى الفرع 8.3 إصلاحًا لانهيار مرتبط بـ TLS كان الفرعان 8.4 و8.5 قد حصلا عليه في مايو.
نظرة سريعة
| البند | التفاصيل |
|---|---|
| المنتج | PHP (php-src)، الفروع من 8.2 إلى 8.5 |
| الإصدارات المصححة | 8.5.8، 8.4.23، 8.3.32، 8.2.32 (2 يوليو 2026) |
| الثغرات | CVE-2026-14355 (كل الفروع)، وCVE-2026-12184 (في 8.3.32 فقط ضمن هذه الجولة) |
| الخطورة | متوسطة للثغرة CVE-2026-14355، وعالية للثغرة CVE-2026-12184 على PHP 8.3 |
| Debian | DSA-6377-1 لإصدار trixie (php8.4 8.4.23-1~deb13u1)، وDLA-4669-1 لإصدار bookworm (php8.2 8.2.32-1~deb12u1)، وكلاهما في 4 يوليو 2026 |
ما هي الثغرات
CVE-2026-14355: حجم المخزن في AES-WRAP-PAD (كل الفروع)
عندما تستخدم openssl_encrypt() وضع تغليف مفاتيح AES بالحشو (RFC 5649)، كان PHP يحدد حجم مخزن الإخراج بناءً على طول النص الأصلي دون حساب الزيادة التي يضيفها التغليف. وبحسب سجل الثغرة قد تكتب OpenSSL حينها خارج الذاكرة المخصصة، فتفسد بيانات إدارة الكومة وتتسبب في إنهاء التطبيق. ويتتبعها سجل التغييرات بوصفها الخلل GH-22187، ويمنحها سجل CVE الذي نشره PHP درجة 5.6 (متوسطة) وفق CVSS 3.1، وتصف Debian نتيجتها بإفساد الذاكرة. ولا يصل إلى هذا المسار إلا الكود الذي يستخدم فعليًا خوارزميات التغليف بالحشو.
CVE-2026-12184: انهيار عند فشل إعداد TLS (PHP 8.3)
يوضح إشعار PHP GHSA-mhmq-mmqj-2v39 (عالية، 8.2 وفق CVSS 4.0) أن غلاف تدفقات HTTP، عند فشله في إعداد TLS لأسباب مثل عدم تطابق اسم الخادم أو انتهاء صلاحية الشهادة، كان ينفّذ خطوة تنظيف على تدفق أُغلق بالفعل. ويمكن لخادم بعيد إطلاق ذلك دون كود PHP مصمم خصيصًا، ويذكر الإشعار أن الأثر حجب خدمة عن بُعد يُسقط عملية FPM بكل عمّالها. وقد صُحّحت للفرعين 8.4 و8.5 في 7 مايو 2026، وللفرع 8.3 في 8.3.32. ولا يتأثر PHP 8.2 بحسب متتبع Debian.
لا تظهر أي من الثغرتين في كتالوج CISA للثغرات المستغلة فعليًا (نسخة 30 أكتوبر 2026).
هل أنت متأثر؟
تحقق من إصدار PHP ومن استخدام كودك لخوارزميات التغليف بالحشو:
php -v
grep -rniE 'wrap-pad' /var/www 2>/dev/null | headالبناءات الرسمية الأقدم من 8.5.8 أو 8.4.23 أو 8.3.32 أو 8.2.32 تفتقد إصلاح CVE-2026-14355. وعلى Debian قارن بالإشعار DSA-6377-1 لإصدار Debian 13 (trixie)، والإشعار DLA-4669-1 لإصدار Debian 12 (bookworm) الذي بات يتلقى إصلاحات PHP من فريق الدعم طويل الأمد (LTS):
apt policy php8.4-fpm php8.4-cli # trixie: fixed in 8.4.23-1~deb13u1
apt policy php8.2-fpm php8.2-cli # bookworm: fixed in 8.2.32-1~deb12u1ويمكن لمستخدمي Ubuntu مراجعة إشعارات Ubuntu الأمنية.
طريقة التحديث
على Debian وUbuntu نفّذ sudo apt update ثم sudo apt upgrade. أما البناء من المصدر وWindows والحاويات فثبّت أحدث إصدار من فرعك من صفحة التنزيلات في php.net. وقد تجاوزت إصدارات يوليو هذه إصدارات أحدث، فحتى 31 أكتوبر 2026 الإصدارات الحالية هي 8.5.12 و8.4.27 و8.3.36 و8.2.35.
هل تحتاج إلى إعادة تشغيل؟
لا حاجة لإعادة تشغيل الخادم. أعد تشغيل PHP-FPM وApache (mod_php) ليحمّل العمّال الكود الجديد، وكذلك عمّال PHP طويلي الأمد:
sudo systemctl restart php8.4-fpm # or php8.2-fpm on bookworm
المصادر
- php.net/archive/2026.php
- php.net/ChangeLog-8.php#8.5.8
- php.net/ChangeLog-8.php#8.3.32
- github.com/php/php-src/issues/22187
- cve.org/CVERecord?id=CVE-2026-14355
- nvd.nist.gov/vuln/detail/CVE-2026-14355
- github.com/php/php-src/security/advisories/GHSA-mhmq-mmqj-2v39
- security-tracker.debian.org/tracker/CVE-2026-12184
- security-tracker.debian.org/tracker/DSA-6377-1
- lists.debian.org/debian-security-announce/2026/msg00288.html
- security-tracker.debian.org/tracker/DLA-4669-1
- lists.debian.org/debian-lts-announce/2026/07/msg00010.html
- cisa.gov/known-exploited-vulnerabilities-catalog
Comments
0 total · 0 threads