O vulnerabilitate critică a fost identificată în Jenkins, un server de automatizare utilizat pe scară largă. Dacă este exploatată, această vulnerabilitate permite atacatorilor să citească fișiere arbitrare de pe controlerul Jenkins și poate escalada până la executarea de cod de la distanță (Remote Code Execution - RCE).
TL;DR
- Vulnerabilitate critică în Jenkins (CVE-2024-43044)
- Permite atacatorilor să citească fișiere arbitrare de pe controler
- Poate escalada la executarea de cod de la distanță (RCE)
- Este necesar să aplicați patch-ul furnizat de echipa Jenkins
- Configurați măsuri de securitate suplimentare
Despre vulnerabilitate
O vulnerabilitate semnificativă, identificată ca CVE-2024-43044, a fost descoperită în Jenkins, un instrument esenţial pentru automatizarea dezvoltării software. Această vulnerabilitate permite agenților Jenkins să citească fișiere arbitrare din controlerul Jenkins. Asta se datorează unei deficiențe în metoda ClassLoaderProxy#fetchJar, care nu restricționează căile de fișiere pe care agenții le pot solicita de la controler.
Impact și exploatare
Vulnerabilitatea nu numai că permite citirea fișierelor de pe controlerul Jenkins, dar poate escalada și la executarea codului de la distanță (RCE). Atacatorii pot utiliza diverse tehnici pentru a exploata această vulnerabilitate, cum ar fi folosirea secretelor agenților pentru a stabili conexiuni neautorizate sau atașarea la un proces de Remoting în execuție.
Un exemplu notabil de exploatare implică falsificarea unui cookie „remember-me” pentru un cont de administrator, ceea ce permite atacatorilor să obțină acces la consola de scripturi Jenkins și să execute comenzi. Conform analizei Conviso, această tehnică necesită citirea anumitor fișiere pentru a crea un cookie valid, profitând de vulnerabilitate pentru a citi fișiere binare și conținuturi întregi ale fișierelor.
Tehnici de protecție
Echipa Jenkins a lansat un patch pentru a adresa această problemă, introducând un validator și proprietăți de sistem Java pentru a controla funcționalitatea fetchJar. Aceste măsuri ajută la restricționarea accesului neautorizat la fișiere prin validarea URL-urilor și respingerea fișierelor JAR neautorizate.
Pentru a proteja sistemele împotriva unor vulnerabilități similare, este recomandat să:
- Aplicați întotdeauna patch-urile de securitate: Fiecare actualizare aduce îmbunătățiri și remedii critice.
- Monitorizați sistemele în mod regulat: Utilizați instrumente de supraveghere pentru a detecta activitățile suspecte.
- Implementați controale stricte de acces: Asigurați-vă că doar utilizatorii autorizați au acces la componentele esențiale ale sistemului.
- Educați echipa: Asigurați-vă că toți membrii echipei sunt conștienți de cele mai recente practici de securitate.
Vulnerabilitatea subliniază importanța securizării instalațiilor Jenkins și aplicării patch-ului oferit. Organizațiile care folosesc Jenkins ar trebui să își revizuiască configurațiile de securitate pentru a preveni exploatarea și pentru a proteja pipeline-urile CI/CD de potențiale amenințări.
Sursa articolului:
https://cybersecuritynews.com/exploiting-jenkins-remote-code-vulnerability/