In het pakket , dat middelen biedt voor afstandsbeheer van de server, backdoor (), ontdekt in de officiƫle builds van het project, via Sourceforge en op de hoofdwebsite. De backdoor was aanwezig in builds van 1.882 tot en met 1.921 (de code met backdoor was niet aanwezig in de git-repository) en stelde de aanvaller in staat om op afstand willekeurige shell-opdrachten uit te voeren in het systeem met root-rechten zonder authenticatie.
Voor een aanval is het voldoende dat er een open netwerkpoort met Webmin is en dat de functie voor het wijzigen van het verouderde wachtwoord actief is in de webinterface (standaard ingeschakeld in builds 1.890, maar in andere versies uitgeschakeld). Probleem in 1.930. Als tijdelijke maatregel om de backdoor te blokkeren, is het voldoende om de instelling 'passwd_mode=' uit het configuratiebestand /etc/webmin/miniserv.conf te verwijderen. Voor testdoeleinden is voorbereid .
Het probleem was in het script password_change.cgi, waarin de functie unix_crypt wordt gebruikt om het ingevoerde oude wachtwoord in het webformulier te controleren, en waarbij het door de gebruiker ingegeven wachtwoord zonder speciale tekens te escapen, wordt doorgegeven. In de git-repository is deze functie een wrapper boven het Crypt::UnixCrypt-module en vormt geen gevaar, maar in het archief met code dat op de Sourceforge-website wordt geleverd, wordt de code aangeroepen die rechtstreeks naar /etc/shadow verwijst, maar dit gebeurt met behulp van een shell-constructie. Voor een aanval is het voldoende om het teken '|' in het veld voor het oude wachtwoord op te geven, en de daaropvolgende code zal met root-rechten op de server worden uitgevoerd.
Volgens van de ontwikkelaars van Webmin, werd de schadelijke code ingevoegd als gevolg van compromittering van de infrastructuur van het project. Details worden nog niet bekendgemaakt, dus het is onduidelijk of de hack beperkt was tot het overnemen van de controle over het account op Sourceforge of andere elementen van de ontwikkelings- en build-infrastructuur van Webmin heeft aangetast. Schadelijke code was aanwezig in de archieven sinds maart 2018. Het probleem heeft ook invloed gehad op . Op dit moment zijn alle opstartarchieven opnieuw samengesteld vanuit Git.
Bron: opennet.ru
