Nid yw'r ardal argyfwng ar gyfer y bregusrwydd gwaradwyddus yn llyfrgell Java Log4j yn ddi-ffael. Mae Sefydliad Meddalwedd Apache yn rhyddhau fersiwn newydd i drwsio'r bregusrwydd unwaith ac am byth.
Mae bregusrwydd mewn llyfrgell hynod boblogaidd i Java yn ysgwyd y dirwedd TG fyd-eang. Amcangyfrifir bod y llyfrgell yn bodoli yn y rhan fwyaf o amgylcheddau corfforaethol.
Defnyddir Log4j yn bennaf ar gyfer logio. Gellir cofrestru digwyddiadau mewn ceisiadau gyda nodiadau. Meddyliwch am allbrint o'r manylion mewngofnodi ar ôl ymgais i fewngofnodi. Neu, yn achos cymhwysiad gwe yn Java, enw'r porwr y mae defnyddiwr yn ceisio cysylltu ag ef.
Mae'r enghreifftiau olaf yn gyffredin. Yn y ddau achos, mae defnyddiwr allanol yn dylanwadu ar y log y mae Log4j yn ei allbynnu. Mae'n bosibl camddefnyddio'r dylanwad hwnnw. Mae logiau unrhyw fersiwn Log4j rhwng Medi 13, 2013 a Rhagfyr 5, 2021 yn gallu cyfarwyddo cymwysiadau Java i redeg y cod o weinydd pell ar ddyfais leol.
Ers 2013, mae Log4j wedi bod yn prosesu API: JNDI, neu Ryngwyneb Enwi a Chyfeiriadur Java. Mae ychwanegu JNDI yn caniatáu i raglen Java redeg cod o weinydd pell ar ddyfais leol. Mae rhaglenwyr yn cyfarwyddo trwy ychwanegu un llinell o fanylion am y gweinydd pell mewn rhaglen.
Y broblem yw nad yn unig y mae rhaglenwyr yn gallu ychwanegu'r rheol at gymwysiadau. Tybiwch fod Log4j yn logio enwau defnyddwyr ymgeisiau mewngofnodi. Pan fydd rhywun yn mynd i mewn i'r llinell uchod yn y maes enw defnyddiwr, mae Log4j yn rhedeg y llinell ac mae'r cymhwysiad Java yn dehongli gorchymyn i redeg y cod ar y gweinydd penodedig. Mae'r un peth yn wir am achosion lle mae Log4j yn cofnodi cais HTTPS. Os byddwch chi'n newid enw porwr i'r llinell, mae Log4j yn rhedeg y llinell, gan ei gyfarwyddo'n anuniongyrchol i redeg cod fel y dymunir.
Gall ardal argyfwng fod yn anniogel hefyd
Ar Ragfyr 9, daeth y bregusrwydd i'r amlwg ar raddfa fawr. Rhyddhaodd Sefydliad Meddalwedd Apache, datblygwr Log4j, ddarn brys (2.15) i drwsio'r bregusrwydd. Ers hynny, mae wedi bod yn brif flaenoriaeth i werthwyr meddalwedd brosesu fersiwn 2.15 a darparu darn i sefydliadau.
Fodd bynnag, mae'r sefydliad diogelwch LunaSec yn nodi nad yw'r clwt yn gwbl dal dŵr. Mae'n dal yn bosibl addasu gosodiad a chyflawni gorchmynion JNDI wedi'u logio.
Sylwch: rhaid addasu'r gosodiad perthnasol â llaw, fel bod amrywiadau heb eu haddasu o 2.15 yn wir yn ddiogel. Serch hynny, mae Luna Sec yn argymell bod cyflenwyr a sefydliadau yn diweddaru i Log4j 2.16. Cyhoeddwyd 2.16 gan Apache Software Foundation mewn ymateb i LunaSec. Mae'r fersiwn newydd yn dileu'r lleoliad bregus yn llwyr, gan ei gwneud hi'n amhosibl creu'r amodau ar gyfer cam-drin.