Sâmbătă, 18 mai, Jerry Gamblin de la Kenna Security 1000 dintre cele mai populare imagini de pe Docker Hub pentru parola utilizată pentru utilizatorul root. În 19% din cazuri, aceasta s-a dovedit a fi goală.

Povestea din spate cu Alpine
Motivul pentru cercetarea efectuată a fost raportul de vulnerabilitate Talos apărut la începutul acestei luni (), autorii căruia — mulțumită descoperirii lui Peter Adkins de la Cisco Umbrella — au raportat că imaginile Docker cu popularul distribuitor de containere Alpine nu au parolă pentru root:
„Versiunile oficiale ale imaginilor Docker Alpine Linux (începând cu v3.3) conțin o parolă NULL pentru utilizatorul root. Această vulnerabilitate a apărut ca urmare a unei regresii prezentate în decembrie 2015. Esența acesteia constă în faptul că sistemele desfășurate cu versiunile problematice ale Alpine Linux într-un container și care folosesc Linux PAM sau un alt mecanism care utilizează fișierul sistemului shadow ca bază de date pentru autentificare, pot accepta o parolă nulă (NULL) pentru utilizatorul root.”
Versiunile de imagini Docker cu Alpine afectate de problemă erau 3.3—3.9 inclusiv, precum și ultimul release edge.
Autorii au oferit următoarea recomandare utilizatorilor afectați de problemă:
„Contul root ar trebui să fie dezactivat explicit în imaginile Docker construite pe baza versiunilor problematice Alpine. Exploatarea probabilă a vulnerabilității depinde de mediu, deoarece succesul acesteia necesită un serviciu sau o aplicație expusă care utilizează Linux PAM sau un mecanism similar”.
Problema a fost în Alpine versiunilor 3.6.5, 3.7.3, 3.8.4, 3.9.2 și edge (snapshot din 20190228), iar posesorii imaginilor afectate au fost sfătuiți să comenteze linia cu root în /etc/shadow sau să se asigure că pachetul linux-pam.
Continuare de pe Docker Hub
Jerry Gamblin a dorit să afle „cât de răspândită poate fi practica utilizării parolelor NULL în containere”. Pentru a face acest lucru, a scris un mic , ale cărui scop este destul de simplu:
- printr-o cerere curl la API-ul de pe Docker Hub se solicită o listă a imaginilor Docker găzduite acolo;
- prin jq, aceasta este sortată pe câmpul
popularity, iar din rezultatele obținute rămâne prima mie; - pentru fiecare dintre ele se execută
docker pull; - pentru fiecare imagine obținută de pe Docker Hub se execută
docker runcitind prima linie din fișier/etc/shadow; - dacă valoarea liniei s-a dovedit a fi egală cu
root:::0:::::, numele imaginii este salvat într-un fișier separat.
Ce a ieșit? s-au găsit 194 de linii cu numele unor imagini Docker populare cu sisteme Linux, în care utilizatorul root nu are parolă setată:
„Printre cele mai cunoscute nume din această listă se numără govuk/governmentpaas, hashicorp, microsoft, monsanto și mesosphere. Iar kylemanna/openvpn este cel mai popular container din listă, având peste 10 milioane de pull-uri.”
Merită, totuși, să menționăm că acest fenomen nu înseamnă neapărat o vulnerabilitate directă în securitatea sistemelor care le utilizează: totul depinde de modul în care sunt utilizate. (vezi comentariul din cazul Alpine de mai sus). Totuși, „moralitatea acestei fabule” am văzut-o deja de multe ori: simplitatea vizibilă are adesea și o reversă, despre care trebuie să ne amintim mereu și al cărei impact trebuie să-l luăm în considerare în scenariile noastre de utilizare a tehnologiei.
P.S.
Citiți și în blogul nostru:
- «»;
- «»;
- «»;
- «».
Sursa: habr.com
