
CitrixBleed-2 (CVE-2025-5777) – استغلال إثبات المفهوم لـ NetScaler ADC/Gateway “memory bleed”
CitrixBleed-2 (CVE-2025-5777) – استغلال لإثبات المفهوم لـ NetScaler ADC/Gateway “تسرب الذاكرة”
ثغرة CVE-2025-5777 هي قراءة حرجة خارج الحدود غير مصادق عليها في Citrix NetScaler ADC/Gateway (وضع Gateway أو AAA vServer). يمكن لطلب واحد مصمم تفريغ الذاكرة التي تحتوي على رموز الجلسات، مما يتيح تجاوز المصادقة الكامل—مما أكسبها اللقب “CitrixBleed 2”.
تم نشر الإصدارات المصححة في 17 يونيو 2025:
لا توجد إجراءات تخفيف رسمية للأنظمة غير المصححة.
المعلومات المقدمة في هذا المستودع على Github هي لأغراض تعليمية فقط. جميع المعلومات الموجودة على هذا Github مقدمة بحسن نية، ومع ذلك لا أقدم أي تمثيل أو ضمان من أي نوع، صريحًا أو ضمنيًا، فيما يتعلق بدقة أو كفاية أو صحة أو موثوقية أو توفر أو اكتمال أي معلومات. تم إصدار هذا الكود لأغراض تعليمية ودفاعية فقط. قبل الاختبار، تأكد من أنك تملك الهدف أو لديك إذن صريح. يقوم إثبات المفهوم بتسرب الذاكرة الحية؛ قم بتشغيله على أجهزة اختبار كلما أمكن.
يتطلب هذا البرنامج النصي استخدام Python3 ومكتبة urllib إذا كنت ترغب في اختبار الثغرة فقم بذلك على أنظمتك (غير الإنتاجية) فقط
python CVE-2025-5777.py <target.host>
يمكن استخدام البرنامج النصي ns_log_scanner.py للكشف عن أي أحرف خارج نطاق HEX من 0x20 إلى 0x7F (ASCII) أو 0x09 و 0x0A و 0x0D (علامة التبويب الأفقي، LF و CR) - والتي قد تكون ثنائية:
python ns_log_scanner.py /var/log/ns.log # (مسار نموذجي)
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (
msg:"doAuthentication bare-login exploit";
flow:established,to_server;
http_method; content:"POST"; nocase;
http_uri; pcre:"/\/p\/u\/doAuthentication\.do(?:[\/\?]|$)/Ui";
http_header; pcre:"/Content-Length\s*:\s*[1-9]\d{0,2}/Hi";
# ‼ Bare “login” – next char must NOT be '='
http_client_body; pcre:"/\blogin(?!\s*=)/i";
classtype:web-application-activity;
sid:1001003; rev:1; metadata:service http;
)
config ips custom-signature
edit "DoAuthentication_BareLogin"
set severity medium
set default-application signature
set service "HTTP"
set direction clienttoServer
set pattern "GETPOST \/p\/u\/doAuthentication\.do[\/\?]?.*Content-Length:\s*[1-9][0-9]{0,2}.*\blogin(?!\s*=)"
next
end
المؤلف : Mischa Rick van Geelen (@rickgeex)
الشركة : Anovum B.V.
الاتصال : [email protected]