في 3 يوليو 2025 نشر مشروع PHP الإصدارات 8.4.10 و8.3.23 و8.2.29 و8.1.33 بوصفها إصدارات أمنية. الجولة صغيرة، ثلاث ثغرات فقط، لكن إحداها تمس طريقة تهريب النصوص في امتدادات PostgreSQL، وهذا يهم كل تطبيق يبني استعلامات SQL بهذه الدوال. وقد تُخطّي الإصدار 8.4.9 لأنه، كما يوضح إعلان 8.4.10، وُسم دون تضمين التصحيحات الأمنية.
نظرة سريعة
| البند | التفاصيل |
|---|---|
| المنتج | PHP (php-src)، الفروع من 8.1 إلى 8.4 |
| الإصدارات المصححة | 8.4.10، 8.3.23، 8.2.29، 8.1.33 (3 يوليو 2025) |
| الثغرات | CVE-2025-1735، CVE-2025-6491، CVE-2025-1220 |
| الخطورة | متوسطة (أعلى تصنيف في إشعارات PHP لهذه الجولة) |
| Debian 12 | الإشعار DSA-5967-1، الحزمة php8.2 بالإصدار 8.2.29-1~deb12u1 (28 يوليو 2025) |
ما هي الثغرات
CVE-2025-1735: تجاهل أخطاء التهريب في pgsql
لم تكن دوال التهريب في الامتدادين pgsql وpdo_pgsql تتحقق مما إذا كانت دالة الاقتباس في مكتبة libpq قد أبلغت عن خطأ. ويذكر إشعار PHP (GHSA-hrwm-9436-5mv3، متوسطة) أن غياب هذا التحقق قد يؤدي إلى حقن SQL، وأن غياب معالجة الخطأ قد يسبب انهيارًا بسبب مؤشر فارغ عندما يرفض خادم PostgreSQL نصًا غير صالح. ويربط الإشعار المشكلة بعمل PostgreSQL على الثغرة CVE-2025-1094. ويمنحها سجل CVE درجة 5.9 وفق CVSS 3.1.
CVE-2025-6491: انهيار SOAP مع بادئة نطاق ضخمة
إنشاء كائن SoapVar باسم مؤهل يتجاوز 2 غيغابايت يترك عقدة libxml2 في حالة غير صالحة، وعند تسلسلها يحدث انهيار بسبب مؤشر فارغ. ويشير الإشعار (GHSA-453j-q27h-5p8x، متوسطة، 5.9 وفق CVSS 3.1) إلى أن ذلك ينطبق مع إصدارات libxml2 الأقدم من 2.13، وأثره حجب الخدمة.
CVE-2025-1220: البايت الفارغ في أسماء المضيفات
لم تكن دوال مثل fsockopen() ترفض أسماء مضيفات تحتوي على بايت فارغ، بينما قد تقرأ دوال أخرى مثل parse_url() الاسم نفسه بطريقة مختلفة. لذلك قد يُوجَّه التطبيق الذي يتحقق من المضيف بدالة ويتصل بأخرى إلى خادم مختلف. يصنفها PHP بخطورة منخفضة (GHSA-3cr5-j632-f35r، 3.7 وفق CVSS 3.1) ويصف الخطر بأنه تزوير طلبات من جهة الخادم (SSRF).
لا تظهر أي من الثغرات الثلاث في كتالوج CISA للثغرات المستغلة فعليًا (نسخة 30 أكتوبر 2026).
هل أنت متأثر؟
البناءات الرسمية الأقدم من 8.4.10 أو 8.3.23 أو 8.2.29 أو 8.1.33 متأثرة. تحقق من كل بيئة تستخدمها:
php -v
php -m | grep -Ei 'pgsql|soap' # are the affected extensions loaded?
php-fpm8.2 -v # Debian/Ubuntu naming; adjust the branchأما حزم التوزيعات فقارنها بإشعار التوزيعة لا برقم الإصدار الرسمي. فقد حصل Debian 12 (bookworm) على الإصلاحات في الإشعار DSA-5967-1 بالإصدار 8.2.29-1~deb12u1 من php8.2:
dpkg -l 'php8.2*'
apt policy php8.2-pgsql php8.2-soap php8.2-commonويمكن لمستخدمي Ubuntu مراجعة إصدارهم في إشعارات Ubuntu الأمنية.
طريقة التحديث
- حزم Debian وUbuntu: نفّذ
sudo apt updateثمsudo apt upgrade، فتنتقل إلى أحدث بناء أمني لإصدارك، وهو يتضمن هذه الإصلاحات. - المستودعات الأخرى ولوحات الاستضافة: حدّث عبر القناة نفسها التي ثبّت منها PHP.
- البناء من المصدر وWindows: نزّل أحدث إصدار من فرعك من صفحة التنزيلات في php.net.
- الحاويات: أعد البناء على صورة أساس مصححة ثم أعد النشر.
لا تتوقف عند إصدارات يوليو 2025؛ فحتى 31 أكتوبر 2026 الإصدارات الحالية هي 8.5.12 و8.4.27 و8.3.36 و8.2.35. وقد توقفت الإصلاحات الرسمية للفرع 8.1 بعد 8.1.34 (انتهاء الدعم في 31 ديسمبر 2025).
هل تحتاج إلى إعادة تشغيل؟
لا حاجة لإعادة تشغيل الخادم، لكن PHP-FPM وApache مع mod_php يحتفظان بالكود القديم في الذاكرة حتى تعيد تشغيلهما:
sudo systemctl restart php8.2-fpm
sudo systemctl restart apache2 # if you use libapache2-mod-php8.2وأعد تشغيل عمّال PHP طويلي الأمد أيضًا (الطوابير والمجدولات وخوادم WebSocket).
المصادر
- php.net/releases/8_4_10.php
- php.net/archive/2025.php
- php.net/ChangeLog-8.php#8.4.10
- github.com/php/php-src/security/advisories/GHSA-hrwm-9436-5mv3
- github.com/php/php-src/security/advisories/GHSA-453j-q27h-5p8x
- github.com/php/php-src/security/advisories/GHSA-3cr5-j632-f35r
- cve.org/CVERecord?id=CVE-2025-1735
- cve.org/CVERecord?id=CVE-2025-6491
- cve.org/CVERecord?id=CVE-2025-1220
- cve.org/CVERecord?id=CVE-2025-1094
- security-tracker.debian.org/tracker/DSA-5967-1
- lists.debian.org/debian-security-announce/2025/msg00131.html
- packages.debian.org/source/bookworm/php8.2
- php.net/supported-versions.php
- php.net/eol.php
- cisa.gov/known-exploited-vulnerabilities-catalog
Comments
0 total · 0 threads