2023an, Qualys taldeak kritikotasun handiko ahultasun baten berri eman zuen, Linux bertsio ugariri eragiten diona. Honek tokiko pribilegioak areagotzea izan zuen, GNU C liburutegiko (glibc) kargatzaile dinamikoko buffer gainezkatzeaz baliatuz.
GLIBC_TUNABLES ingurune-aldagaia prozesatzen duen kargagailu dinamikoak gainezkatze hori eragiten du, eta agente gaizto batek aldagai hau erabil dezake SUID baimenak dituzten bitarrak abiarazteko, pribilegio handiekin kodea exekutatzeko.
Ahultasun hori errepikatzeko, proba-ingurune bat ezarri zen. Lehenik eta behin, makina zaurgarrian sartu behar duzu:
Ustiapena egiteko, ematen den POC ulertu behar duzu.
Kargatzaile dinamikoak gclib_tunables ingurune-aldagaiak erabiltzen ditu, eta horri esker, garatzaileek liburutegiaren portaera dinamikoki alda dezakete exekuzioan.
Kasu honetan, kodeak ingurune-aldagaietan gclib_tunables aldagaiak bilatzen ditu eta aldagai berri batean kopiatzen ditu. Zaurgarritasuna aldagaiak ustekabeko sarrerak dituenean sortzen da, ez baitira modu seguruan kudeatzen eta buffer gainezkatzea eragiten baitu.
Ustiapen-baldintza gisa, izan behar duzu:
- Kodea exekutatzen pribilegio mugatuekin sistema zaurgarri batean.
POC
Looney Tunables-en aurrean zaurgarria dela egiaztatu ondoren, kasu honetan dagoeneko makinaren barruan dagoen gen_libc.py fitxategiaren laguntzaz, ustiapena sortzeko exekutatzen dugu.
Hurrengo urratsa ustiapena GCC erabiliz konpilatzea da. Konpilatu behar den fitxategia exp.c da
Bi komandoak exekutatu ondoren, bi fitxategi sortuko dira, ahultasuna ustiatzeko beharrezkoa den POC:
Explotazioa zuen fitxategia exekutatu ondoren, denbora tarte labur baten ondoren ustiapena nola amaitu den eta pribilegioen eskalatzea arrakastaz burutu den ikus dezakezu.
Ondorioa
GNU C liburutegian (glibc) ahultasun honek Linux sistemetan ingurune-aldagaien kudeaketa seguruaren garrantzia nabarmentzen du. Zaurgarritasun hori berariaz arintzeko, glibc paketea batera eskuragarri dauden bertsio berrietara eguneratu behar da eta aldaketak behar bezala aplikatu direla egiaztatu behar da.