Ata zbuluan një dobësi që lejon që kodi të ekzekutohet jashtë kontejnerit dhe ndikon në Docker dhe Kubernetes

dobësi

Nëse shfrytëzohen, këto të meta mund t'i lejojnë sulmuesit të kenë akses të paautorizuar në informacione të ndjeshme ose në përgjithësi të shkaktojnë probleme

Së fundmi lajmet e dzbulimi i dobësive të reja në runC (një mjet CLI për ndërtimin dhe drejtimin e kontejnerëve në Linux) CVE-2024-21626 dhe në BuildKit (CVE-2024-23651, CVE-2024-23652 dhe CVE-2024-23653), duke qenë një nga shqetësimet më të mëdha CVE-2024-21626, pasi është një cenueshmëri kritike që lejon aksesin në sistemin e skedarëve të sistemit operativ pritës.

CVE-2024-21626 lejon hyrjen në sistemin e skedarëve të mjedisit pritës nga një kontejner i izoluar. Gjatë një sulmi, një sulmues mund të mbishkruajë disa skedarë të ekzekutueshëm në mjedisin pritës dhe të ekzekutojë kodin e tyre jashtë kontejnerit.

Kjo është veçanërisht shqetësuese në mjedise si Kubernetes, ku kontejnerët funksionojnë në nyje të përbashkëta. Duke shfrytëzuar këtë dobësi, një sulmues mund të fitojë kontroll të privilegjuar mbi hostin, duke dhënë potencialisht akses të paautorizuar në pods të tjerë dhe të dhëna të të tjerëve në të njëjtën nyje.

Për më tepër, kjo dobësi gjithashtu ndikon në proceset e ndërtimit që funksionojnë në mjediset e kontejnerëve, duke u dhënë sulmuesve mundësinë për të vendosur një bazë brenda një procesi ndërtimi. Ky skenar mund të rezultojë që një sulmues të marrë kredenciale të larta, e cila do t'ju mundësonte akses në ngarkesat kritike të prodhimit ose mjedise të tjera të ndjeshme. Në thelb, ndikimi shtrihet përtej rrjedhjes së thjeshtë të informacionit ose ekzekutimit të kodit arbitrar dhe mund të rrezikojë integritetin dhe sigurinë e të gjithë mjedisit të zhvillimit dhe prodhimit.

Në mjediset ku përdoren Docker ose Kubernetes, një sulm mund të kryhet duke përdorur një imazh të kontejnerit të krijuar posaçërisht. Pasi të instalohet dhe lëshohet ky imazh, sulmuesi mund të hyjë në një sistem skedari të jashtëm nga kontejneri. Në rastin e Docker, është e mundur të operohet përmes një Dockerfile të krijuar posaçërisht. Dobësia mund të shfrytëzohet gjithashtu nëse proceset nisen në një kontejner duke përdorur komandën "runc exec" dhe duke lidhur direktorinë e punës me hapësirën e emrave të mjedisit pritës.

Problemi kryesor është një rrjedhje e përshkruesit të skedarit dhe gjatë kryerjes së O_CLOEXEC të gjitha përshkruesit e skedarëve përpara se të ekzekutoni kodin e kontejnerit, skedarin përshkruesi është i hapur kur bën setcwd(2), që do të thotë se referenca mund të mbahet gjallë në enë duke vendosur mënyrën e punës së drejtoria si një shteg i zgjidhur përmes përshkruesit të skedarit (yeBiti jo-dumpable nuk vendoset pas execve(2), që do të thotë se ka mënyra të shumta për ta sulmuar këtë përveç konfigurimeve të këqija).

Shkaku i cenueshmërisë qëndron në rrjedhjen e përshkruesve të brendshëm të skedarëve. Përpara se të ekzekutoni kodin brenda kontejnerit, runc mbyll të gjithë përshkruesit e skedarëve duke përdorur flamurin O_CLOEXEC. Megjithatë, ekzekutimet e mëvonshme të setcwd() lënë të hapur një përshkrues skedari që tregon direktorinë e punës dhe mbetet i aksesueshëm pasi të jetë nisur kontejneri. Janë propozuar disa skenarë bazë për të sulmuar mjedisin pritës duke përdorur përshkruesin e skedarit të mbetur.

Përmendet se një shembull i shfrytëzimit të cenueshmërisë është nëse një kontejner është konfiguruar:

Për të vendosur process.cwd në /proc/self/fd/7/, procesi pid1 që rezulton do të ketë një drejtori pune në hapësirën e emrave të montimit të hostit, dhe për këtë arsye procesi i krijuar do të jetë në gjendje të aksesojë të gjithë skedarët e sistemit. Vetëm kjo nuk është një shfrytëzim kundër runc. Një sulmues mund të mashtrojë gjithashtu një përdorues për të ekzekutuar një imazh të keq të kontejnerit, duke lejuar që një proces kontejner të arrijë sistemin e skedarëve pritës përmes runc. Kjo mund të shtrihet në mbishkrimin e binarëve të hostit, duke rezultuar në një arratisje të plotë të kontejnerit. 

Në fund, duhet përmendur se Dobësia është rregulluar në versionin runc 1.1.12, kështu që rekomandimi është që të përditësohet në versionin e ri. Nëse jeni të interesuar të mësoni më shumë rreth tij, mund të konsultoheni me detajet Në lidhjen vijuese.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.