
استغلال إثبات المفهوم لـ CVE-2025-49844 يستهدف ثغرة في كومة Redis، مع تحليل الأعطال بمساعدة GDB ومحاولات fuzzing لتحقيق تنفيذ التعليمات البرمجية.
إثبات مفهوم للـ Revshell تم إنشاؤه بواسطة الذكاء الاصطناعي
إكمال غير مُختبر لإثبات مفهوم Redishell الذي تم إنشاؤه بواسطة الذكاء الاصطناعي.
إثبات المفهوم الأصلي:
https://github.com/raminfp/redis_exploit/blob/main/exploit_poc.py
القطعة الكورية:
https://github.com/dwisiswant0/CVE-2025-49844/blob/master/CVE-2025-49844.lua
لاحقًا تقدمنا وقمنا بتوصيل GDB - تمكّنا من الحصول على العنوان الأساسي واكتشاف بعض الأشياء الأخرى، ولكن الأهم من كل ذلك، يبدو أن هذه ليست ثغرة بسيطة في الكومة (Heap). بغض النظر عن ما جربناه، كان من المستحيل الحصول على تنفيذ الأوامر. تعطل؟ نعم. أوامر؟ لا.
لم نعد متمكنين في الهندسة العكسية، لذا لا يمكننا التأكد، ولكن من كل ما وجدناه على مدار ساعات بمساعدة بعض من أقوى نماذج الذكاء الاصطناعي، ليس من الممكن الحصول على تنفيذ الأوامر من خلال هذه الثغرة (أو هي محاولة واحدة من بين ألف محاولة، لكن هذا مجرد تخمين).
من خلال محاولات عديدة، كنا نصل دائمًا إلى هنا على الأكثر:
Script attempted to access nonexistent global variable 'print' script: 67dfac1cecac4f99df897c7a0713f1d6fcef69a4, on @user_script:21.
فضولي لرؤية إثبات المفهوم الحقيقي مع تنفيذ الأوامر.
اقرأ بشكل صحيح من فضلك: قلنا، من كل ما نعرفه / رأيناه حتى الآن. هذه ليست عبارة مطلقة، قد تكون هناك حيلة أو مكافأة لم نفكر بها، هناك متخصصون أفضل بكثير في استغلال الثنائيات (BinExers) في الخارج.
لاحظ أن خادم Redis ظل مستقرًا - قمنا بإخراجه من Docker للاختبار. يمكنك إحداث التعطل عن طريق تشغيل الاستغلال عدة آلاف من المرات، ولم نحاول بعد دمج هذه الطريقة العنيفة مع محاولات تنفيذ الأوامر، قد يكون ذلك هو الحل.

كما ترى، يبدو أن إثبات المفهوم الأصلي يعاني من نفس المشكلات، حيث يدّعي أنه "مُبسّط" بينما ليس من الواضح تمامًا ما يُفترض أن تكون النتيجة.
لا شيء بعد...
$ while redis-cli -h localhost -p 6380 --eval korean.lua; do printf '.'; done
بشكل غامض، في ملاحظات تصحيح Redis، تم إدراج CVE مختلف تمامًا - يُزعم أيضًا أنه استغلال ثنائي، لكنه أبسط بكثير، وهو تجاوز سعة المخزن المؤقت (Stack-based Buffer Overflow) مع RCE محتملة:
XACKDEL قد يؤدي إلى تجاوز سعة المكدس وRCE محتملةوجدنا معلومات أقل عن هذا. من الصعب بالفعل العثور على إصدار غير مُحدّث بدون تجميع ذاتي، ولكن ربما هذا هو الطريق الذي سيتعين علينا اتباعه.
كل هذه POTENTIALS - لدي إمكانيات. الآن لدي إمكانيتان.
62507 هو الطريق الصحيح... ليس لدي RCE بعد، لكنه يبدو سهلًا وواعدًا...
إذن، هل كان CVE-2025-49844 مجرد خدعة؟ اللغز الكوري لم يُحدث تعطلًا بعد - لكنه يُنتج مخرجات مختلفة تمامًا ضد إصدارنا المُجمّع ذاتيًا 8.2.2. بالاعتراف، حتى أنا وقعت في التفكير "نعم، تعطل، أكثر من معقول، ربما سهل..." وافترضت ببساطة أن جزء التعطل من CVE-2025-49844 سيعمل. لكنه لم يفعل أبدًا. آسف لقولي خطأً من قبل، لكن الأمر أصبح واضحًا الآن، آملًا. CVE-2025-49844 لا يتعطل، CVE-2025-62507 يتعطل.
.(error) ERR user_script:16: Script attempted to access nonexistent global variable 'newproxy' script: 859491190bfb66357ec83aee16eb0554967c9c38, on @user_script:16.
تبدو مألوفة؟ لا أعرف ماذا فعلوا هناك... أو إذا لم يفحصها أحد غيري؟ لقد أصبح العالم مكانًا غريبًا نوعًا ما مؤخرًا.