R 3.4.4 contains a local buffer overflow vulnerability that allows attackers to execute arbitrary code by injecting malicious input into the GUI Preferences language field. Attackers can craft a payload with a 292-byte offset and JMP ESP instruction to execute commands like calc.exe when the payload is pasted into the Language for menus and messages field.
CVE-2019-25695 is a local buffer overflow vulnerability in R 3.4.4 affecting the GUI Preferences language field, allowing authenticated attackers to execute arbitrary code with a 292-byte offset exploit. With a CVSS score of 8.4 and no available patch, this poses significant risk to organizations using R for statistical analysis and data processing. The vulnerability requires local access and user interaction but enables complete system compromise through code execution.
Immediate Actions:
1. Identify all systems running R 3.4.4 and document their usage context and data sensitivity
2. Restrict local access to systems running R 3.4.4 to trusted users only
3. Disable GUI Preferences access or restrict to administrators
4. Implement application whitelisting to prevent unauthorized code execution
Patching Guidance:
1. Upgrade to R 3.5.0 or later immediately (3.4.4 is end-of-life)
2. If upgrade is not immediately possible, apply the following compensating controls
Compensating Controls (if patching delayed):
1. Restrict file system permissions on R installation directories
2. Run R under a dedicated low-privilege service account
3. Disable GUI mode and use command-line R only
4. Implement input validation and sanitization for any R scripts accepting user input
5. Use AppLocker or equivalent to prevent execution of suspicious processes spawned by R
Detection Rules:
1. Monitor for unusual process creation from R.exe or Rgui.exe (particularly calc.exe or cmd.exe)
2. Alert on any modifications to R Preferences files or registry entries
3. Monitor for buffer overflow exploitation patterns in application logs
4. Track failed and successful GUI Preferences access attempts
5. Implement EDR rules to detect JMP ESP instruction patterns in memory
الإجراءات الفورية:
1. تحديد جميع الأنظمة التي تعمل بـ R 3.4.4 وتوثيق سياق استخدامها وحساسية البيانات
2. تقييد الوصول المحلي إلى الأنظمة التي تعمل بـ R 3.4.4 للمستخدمين الموثوقين فقط
3. تعطيل وصول تفضيلات الواجهة الرسومية أو تقييده للمسؤولين
4. تطبيق قائمة بيضاء للتطبيقات لمنع تنفيذ الأكواد غير المصرح بها
إرشادات التصحيح:
1. الترقية إلى R 3.5.0 أو إصدار أحدث فوراً (3.4.4 انتهت فترة دعمه)
2. إذا لم تكن الترقية ممكنة فوراً، طبق الضوابط التعويضية التالية
الضوابط التعويضية (إذا تأخر التصحيح):
1. تقييد أذونات نظام الملفات على دلائل تثبيت R
2. تشغيل R تحت حساب خدمة مخصص منخفض الامتيازات
3. تعطيل وضع الواجهة الرسومية واستخدام سطر أوامر R فقط
4. تطبيق التحقق من صحة المدخلات والتطهير لأي نصوص R تقبل مدخلات المستخدم
5. استخدام AppLocker أو ما يعادله لمنع تنفيذ العمليات المريبة التي تنتجها R
قواعد الكشف:
1. مراقبة إنشاء العمليات غير العادية من R.exe أو Rgui.exe (خاصة calc.exe أو cmd.exe)
2. التنبيه على أي تعديلات على ملفات تفضيلات R أو إدخالات السجل
3. مراقبة أنماط استغلال تجاوز المخزن المؤقت في سجلات التطبيقات
4. تتبع محاولات الوصول الفاشلة والناجحة لتفضيلات الواجهة الرسومية
5. تطبيق قواعد EDR للكشف عن أنماط تعليمات JMP ESP في الذاكرة