JavaScript-mootoris LibJS, mida kasutatakse Ladybird veebibrauseris, leiti haavatavust (CVE-2025-47154), mis vĂ”imaldab sĂŒsteemis oma koodi tĂ€itmist spetsiaalselt vormitud JavaScripti koodi töötlemisel. Haavatavus on pĂ”hjustatud mĂ€lu vabastamisest vektoril m_argument_values_buffer, mille nĂ€itaja jĂ€i arguments_list struktuuri, mis viis juba vabastatud mĂ€lu aladele juurdepÀÀsu. Töötav eksploidi prototĂŒĂŒp on saadaval.
Probleemi avastanud teadlane viis lĂ€bi LibJS-i fuzzing-testi, mille kĂ€igus tuvastati 10 krahhi. Ăhe krahhi analĂŒĂŒs nĂ€itas, et probleem vĂ”ib olla Ă€ra kasutatav JavaScripti koodiga töötlemisel. Haavatavus vĂ”imaldas lugeda ja kirjutada protsessi suvalistesse mĂ€lu aladesse. Koodi tĂ€itmine korraldati eksploidis kaudu tagasitulekupunkti asendamise kaudu joonistamise funktsioonist. Tagasi-pööratud programmeerimise (ROP â Return-Oriented Programming, eksploiteeritakse juba olemasolevatest masiinijuhistest, mis lĂ”pevad juhtimise tagastamise kĂ€suga) abil loodi ahel sĂŒsteemi kĂ”ne execve jaoks vĂ€lise rakenduse kĂ€ivitamiseks.
Ladybird veebibrauserit arendab Andreas Kling, kes on kunagi töötanud Nokias ning töötanud KHTML-i arendamisega, hiljem Apple'is oli ta ĂŒks Safari arendajatest. Praegu on Ladybird arendusetapis pre-alfaversioonis, mis sobib ainult arendajate kasutamiseks. Alguses loodi projekt SerenityOS operatsioonisĂŒsteemi rakenduseks, kuid eelmisel suvel eraldati see eraldi projektiks ja sai 1 miljoni dollari suuruse annetuse. Brauser on kirjutatud C++ keeles (otsustati ĂŒle minna Swift keelele) ja levitatakse BSD litsentsi alusel. Projekti raames arendatakse oma mootoreid LibWeb, JavaScripti tĂ”lgendajat LibJS ja seotud raamatukogusid.
Allikas: opennet.ru
