Webmin Command Injection Vulnerability — An issue was discovered in Webmin. The parameter old in password_change.cgi contains a command injection vulnerability.
CVE-2019-15107 is a critical command injection vulnerability in Webmin's password_change.cgi script, allowing unauthenticated remote attackers to execute arbitrary OS commands via the 'old' password parameter. With a CVSS score of 9.0 and a public exploit available, this vulnerability poses an immediate and severe threat to any internet-facing Webmin installation. Successful exploitation grants full system-level access, enabling data exfiltration, ransomware deployment, or persistent backdoor installation. Saudi organizations using Webmin for Linux/Unix server administration must treat this as an emergency patching priority.
تم اكتشاف ثغرة حقن أوامر حرجة في وحدة تغيير كلمة المرور بـ Webmin. المعامل 'old' في ملف password_change.cgi لا يقوم بتصفية المدخلات بشكل صحيح، مما يسمح بحقن أوامر نظام تعسفية. يمكن للمهاجمين استغلال هذه الثغرة لتنفيذ أوامر بامتيازات عالية جداً. هذه الثغرة لها استغلال نشط متاح وتؤثر على إصدارات متعددة من Webmin.
CVE-2019-15107 هي ثغرة حرجة في حقن الأوامر ضمن نص Webmin البرمجي password_change.cgi، تتيح للمهاجمين عن بُعد دون مصادقة تنفيذ أوامر نظام تشغيل عشوائية عبر معامل كلمة المرور القديمة. بدرجة CVSS تبلغ 9.0 وتوفر استغلال عام، تشكّل هذه الثغرة تهديداً فورياً وخطيراً لأي تثبيت Webmin مكشوف على الإنترنت. يمنح الاستغلال الناجح وصولاً كاملاً على مستوى النظام، مما يتيح سرقة البيانات أو نشر برامج الفدية أو تثبيت أبواب خلفية دائمة. يجب على المنظمات السعودية التي تستخدم Webmin لإدارة خوادم Linux/Unix معالجة هذه الثغرة بصفة طارئة.
IMMEDIATE ACTIONS:
1. Identify all Webmin installations across your environment using asset discovery tools or SIEM queries.
2. Immediately restrict access to Webmin (default port 10000) using firewall rules — block all external access and limit to trusted management IPs only.
3. Audit Webmin access logs for exploitation indicators: unusual POST requests to /password_change.cgi with shell metacharacters (|, ;, &&, $(), backticks).
PATCHING GUIDANCE:
4. Upgrade Webmin to version 1.930 or later immediately — this version addresses the command injection in password_change.cgi.
5. If immediate patching is not possible, disable the password change module via Webmin > Webmin Configuration > Webmin Modules.
6. Verify patch integrity after installation by checking the Webmin version at the login page.
COMPENSATING CONTROLS:
7. Implement Web Application Firewall (WAF) rules to block requests containing shell injection characters in the 'old' parameter.
8. Enable two-factor authentication on Webmin if upgrading is delayed.
9. Place Webmin behind a VPN or jump host — never expose directly to the internet.
10. Disable the 'Allow password changes' feature in Webmin security settings.
DETECTION RULES:
11. SIEM Rule: Alert on HTTP POST to /password_change.cgi containing characters: |, ;, &&, $(), `, >, <.
12. Monitor for unusual child processes spawned by Webmin (miniserv.pl) such as bash, sh, wget, curl, nc.
13. Check for new cron jobs, SSH keys, or user accounts created post-exploitation.
14. Deploy Sigma rule: process_creation where parent_image contains 'miniserv' and child_image contains shell binaries.
الإجراءات الفورية:
1. تحديد جميع تثبيتات Webmin في بيئتك باستخدام أدوات اكتشاف الأصول أو استعلامات SIEM.
2. تقييد الوصول إلى Webmin فوراً (المنفذ الافتراضي 10000) باستخدام قواعد جدار الحماية — حظر جميع الوصول الخارجي والسماح فقط لعناوين IP الإدارية الموثوقة.
3. مراجعة سجلات وصول Webmin للكشف عن مؤشرات الاستغلال: طلبات POST غير عادية إلى /password_change.cgi تحتوي على محارف خاصة بالصدفة البرمجية.
إرشادات التصحيح:
4. ترقية Webmin إلى الإصدار 1.930 أو أحدث فوراً — يعالج هذا الإصدار حقن الأوامر في password_change.cgi.
5. إذا تعذّر التصحيح الفوري، تعطيل وحدة تغيير كلمة المرور عبر: Webmin > Webmin Configuration > Webmin Modules.
6. التحقق من سلامة التصحيح بعد التثبيت من خلال فحص إصدار Webmin في صفحة تسجيل الدخول.
ضوابط التعويض:
7. تطبيق قواعد جدار حماية تطبيقات الويب (WAF) لحظر الطلبات التي تحتوي على محارف حقن الصدفة في معامل 'old'.
8. تفعيل المصادقة الثنائية على Webmin في حال تأخر الترقية.
9. وضع Webmin خلف VPN أو خادم وسيط — عدم كشفه مباشرة على الإنترنت.
10. تعطيل ميزة 'السماح بتغيير كلمة المرور' في إعدادات أمان Webmin.
قواعد الكشف:
11. قاعدة SIEM: تنبيه عند HTTP POST إلى /password_change.cgi يحتوي على محارف: |، ;، &&، $()، `، >، <.
12. مراقبة العمليات الفرعية غير المعتادة التي تنشئها Webmin (miniserv.pl) مثل bash وsh وwget وcurl وnc.
13. التحقق من وجود مهام cron جديدة أو مفاتيح SSH أو حسابات مستخدمين تم إنشاؤها بعد الاستغلال.
14. نشر قاعدة Sigma: إنشاء عملية حيث تحتوي صورة الأصل على 'miniserv' وتحتوي صورة العملية الفرعية على ثنائيات الصدفة.