Endian Firewall version 3.3.25 and prior allow authenticated users to execute arbitrary OS commands via the DATE parameter to /cgi-bin/logs_proxy.cgi. The DATE parameter value is used to construct a file path that is passed to a Perl open() call, which allows command injection due to an incomplete regular expression validation.
Endian Firewall versions 3.3.25 and prior contain a critical command injection vulnerability in the logs_proxy.cgi module that allows authenticated users to execute arbitrary OS commands via the DATE parameter. The vulnerability exploits incomplete regex validation in Perl's open() function, enabling attackers with valid credentials to gain full system control. This poses significant risk to Saudi organizations using Endian Firewall as perimeter security, particularly in banking and government sectors where firewall compromise could lead to lateral movement and data exfiltration.
IMMEDIATE ACTIONS:
1. Identify all Endian Firewall instances running version 3.3.25 or earlier in your environment
2. Restrict administrative access to firewall management interfaces—implement principle of least privilege for admin accounts
3. Monitor logs_proxy.cgi access logs for suspicious DATE parameter values containing shell metacharacters (|, ;, &, $, `, >, <, newlines)
4. Disable or restrict access to /cgi-bin/logs_proxy.cgi if not actively used
PATCHING GUIDANCE:
1. Contact Endian support immediately for patch availability timeline
2. Prepare isolated test environment to validate patches before production deployment
3. Establish maintenance window for firewall updates (coordinate with business continuity teams)
COMPENSATING CONTROLS (until patch available):
1. Implement Web Application Firewall (WAF) rules to block DATE parameters containing: pipe (|), semicolon (;), backtick (`), dollar sign ($), ampersand (&), command substitution patterns
2. Deploy network segmentation to restrict who can access firewall management interfaces
3. Implement multi-factor authentication for all firewall administrative accounts
4. Enable comprehensive audit logging of all CGI script access and parameter values
5. Restrict firewall admin access to specific source IPs/VPNs only
DETECTION RULES:
1. Alert on POST/GET requests to /cgi-bin/logs_proxy.cgi with DATE parameter containing: [|;&`$()\n\r]
2. Monitor for Perl error messages in firewall logs indicating failed open() calls with suspicious input
3. Track failed authentication attempts followed by successful CGI access from same source
4. Alert on unusual process spawning from firewall CGI processes (perl, sh, bash, cmd.exe)
الإجراءات الفورية:
1. حدد جميع مثيلات Endian Firewall التي تعمل بالإصدار 3.3.25 أو أقدم في بيئتك
2. قيّد الوصول الإداري إلى واجهات إدارة جدار الحماية - طبّق مبدأ الامتياز الأقل للحسابات الإدارية
3. راقب سجلات الوصول إلى logs_proxy.cgi للقيم المريبة لمعامل DATE التي تحتوي على أحرف shell (|، ;، &، $، `، >، <، أسطر جديدة)
4. عطّل أو قيّد الوصول إلى /cgi-bin/logs_proxy.cgi إذا لم يكن قيد الاستخدام النشط
إرشادات التصحيح:
1. اتصل بدعم Endian فوراً للحصول على جدول زمني لتوفر التصحيح
2. جهّز بيئة اختبار معزولة للتحقق من صحة التصحيحات قبل نشرها في الإنتاج
3. حدد نافذة صيانة لتحديثات جدار الحماية (تنسيق مع فرق استمرارية الأعمال)
الضوابط البديلة (حتى توفر التصحيح):
1. طبّق قواعد جدار تطبيقات الويب (WAF) لحظر معاملات DATE التي تحتوي على: الأنابيب (|)، الفاصلة المنقوطة (;)، علامة الخطر الخلفية (`)، علامة الدولار ($)، علامة العطف (&)، أنماط استبدال الأوامر
2. نشّر تقسيم الشبكة لتقييد من يمكنه الوصول إلى واجهات إدارة جدار الحماية
3. طبّق المصادقة متعددة العوامل لجميع حسابات جدار الحماية الإدارية
4. فعّل تسجيل التدقيق الشامل لجميع عمليات الوصول إلى البرامج النصية CGI وقيم المعاملات
5. قيّد وصول مسؤول جدار الحماية إلى عناوين IP/VPNs محددة فقط
قواعد الكشف:
1. تنبيه على طلبات POST/GET إلى /cgi-bin/logs_proxy.cgi مع معامل DATE يحتوي على: [|;&`$()\n\r]
2. راقب رسائل خطأ Perl في سجلات جدار الحماية التي تشير إلى فشل استدعاءات open() مع إدخال مريب
3. تتبع محاولات المصادقة الفاشلة متبوعة بوصول CGI ناجح من نفس المصدر
4. تنبيه على توليد العمليات غير المعتاد من عمليات CGI لجدار الحماية (perl، sh، bash، cmd.exe)