به دنبال افشای عمومی یک آسیبپذیری بحرانی روز-صفرم در Webmin در هفتهی گذشته، توسعهدهندگان این پروژه اعلام کردند که این آسیبپذیری در واقع نتیجهی اشتباه کدنویسی برنامهنویسان نبود، بلکه بهطور مخفیانه توسط یک نفوذگر ناشناسی که با موفقیت یک دربپشتی به برخی نقاط زیرساخت آن تزریق کرده بودند، توزیع شد که در نسخههای مختلف Webmin (نسخهی ۱٫۸۸۲ تا ۱٫۹۲۱) پایدار است و در نهایت بیش از یک سال است که پنهان باقی مانده است.
Webmin با بیش از ۳ میلیون بارگیری در هر سال، یکی از محبوبترین برنامههای متنباز برای مدیریت سیستمهای مبتنیبر یونیکس ازجمله سرورهای لینوکس، FreeBSD یا OpenBSD است. Webmin یک رابط کاربری ساده برای مدیریت کاربران و گروهها، پایگاه داده، BIND، آپاچی، Postfix، Sendmail، QMail، پشتیبانها، دیوارههای آتش، نظارتها و هشدارها را ارائه میدهد.
این ماجرا از زمانی شروع شد که پژوهشگر ترکیهای به نام اوزکان مصطفی یک آسیبپذیری اجرای کد از راه دور روز-صفرم در Webmin را بهطور عمومی افشا کرد، بدون آنکه هیچ هشداری به توسعهدهندگان این پروژه بدهد.
جو کوپر، یکی از توسعهدهندگان این پروژه بیان کرد که آنها هیچ هشدار غیرمعمولی از طرف پژوهشگری که آن را کشف کرده است، دریافت نکردهاند. اما در این موارد کار دیگری نمیتوانند انجام دهند بلکه آن را وصله میکنند. علاوهبر افشای این آسیبپذیری بهطور عمومی، اوزکان مصطفی یک مؤلفهی Metasploit برای این آسیبپذیری منتشر کرد که هدف آن خودکارسازی بهرهبرداری با استفاده از چارچوب Metasploit است.
این آسیبپذیری که با شناسهی CVE-2019-15107 ردیابی میشود، در یک ویژگی امنیتی معرفی شده است که طراحی شده تا به مدیر Webmin این امکان را بدهد که یک سیاست انقضای گذرواژه برای حسابهای سایر کاربران اجرا کنند.
بهگفتهی این پژوهشگر، این آسیبپذیری امنیتی در صفحهی بازنشانی گذرواژه وجود دارد و به یک مهاجم راه دور و احرازهویتنشده اجازه میدهد تا دستورات دلخواه را با امتیازات ریشه و تنها با اضافه کردن یک دستور پایپ در فیلد گذرواژهی قدیمی از طریق درخواستهای POST در سرورهای آسیبدیده، اجرا کند. کوپر بیان کرد که این گروه هنوز بررسی میکند که چگونه و چه زمانی این دربپشتی معرفی شده است، اما تأیید کرد که بارگیریهای رسمی Webmin توسط بستههایی با دربپشتی و تنها در مخازن SourceForge این پروژه جایگزین شده است.
کوپر همچنین تأکید کرد که ویژگی انقضای گذرواژهی آسیبدیده بهطور پیشفرض برای حسابهای Webmin فعال نمیشود، این به این معنا است که بسیاری از نسخهها در پیکربندی پیشفرض خود آسیبپذیر نیستند و این آسیبپذیری تنها مدیران Webmin را که بهطور دستی این ویژگی را فعال کردهاند، تحت تأثیر قرار میدهد.
برای بهرهبرداری از این کد مخرب، باید هنگام نصب Webmin، سیاست انقضای گذرواژه تنظیم شود تا کاربرانی که گذرواژهی منقضیشده دارند، تشویق کند که یک گذرواژهی جدید تنظیم کنند. این گزینه بهطور پیشفرض تنظیم نمیشود، اما درصورتیکه تنظیم شود، امکان اجرای کد از راه دور را فراهم میکند.
بااینحال، پژوهشگر امنیتی دیگری در توییتر اعلام کرد که Webmin نسخهی ۱٫۸۹۰ در پیکربندی پیشفرض آسیبدیده است، زیرا به نظر میرسد که نفوذگران کد منبع را تغییر دادهاند تا ویژگی انقضای گذرواژه را بهطور پیشفرض برای همهی کاربران Webmin فعال کنند. توسعهدهندگان Webmin هرگز گمان نمیکردند که این تغییرات در کد منبع Webmin اشتباه آنها نبوده باشد، اما این کد در واقع توسط اشخاص دیگر و بهطور عمدی تغییر داده شده است.
براساس نتیجهی جستجو، Webmin بیش از ۲۱۸ هزار نمونه در اینترنت دارد که بیشتر آنها در امریکا، فرانسه و آلمان واقع شدهاند و بیش از ۱۳ هزار مورد از آنها Webmin نسخهی ۱٫۸۹۰ آسیبپذیر را اجرا میکنند. توسعهدهندگان Webmin درحالحاضر دربپشتی مخرب را از نرمافزار خود حذف کردند تا این آسیبپذیری را رفع کنند و نسخههای بدون اشکال Webmin 1.930 و Usermin نسخهی ۱٫۷۸۰ را منتشر کردند. آخرین نسخههای Webmin و Usermin نیز تعدای از آسیبپذیریهای XSS را که توسط پژوهشگران امنیتی متفاوت افشا شده بودند، رفع میکند. بنابراین بهشدت به مدیران Webmin توصیه میشود تا بستههای خود را هر چه سریعتر بهروزرسانی کنند.