Sårbarhed i LibJS, som muliggør kodekørsel ved åbning af en side i Ladybird-browseren

I JavaScript-motort LibJS, der anvendes i webbrowseren Ladybird, er der opdaget en sårbarhed (CVE-2025-47154), som muliggør udførelse af egen kode i systemet ved behandling af specielt udformet JavaScript-kode. Sårbarheden skyldes frigivelse af hukommelse på vektoren m_argument_values_buffer, hvor der forblev en pointer i strukturen arguments_list, hvilket medførte adgang til et allerede frigivet hukommelsesområde. En fungerende prototype af exploit er tilgængelig.

Forskeren, der opdagede problemet, udførte fuzzing-testning af LibJS, hvormed der blev registreret 10 nedbrud. Analysen af et af nedbruddene viste, at problemet kan udnyttes ved behandling af JavaScript-kode. Sårbarheden gjorde det muligt at læse og skrive til vilkårlige hukommelsesområder i processen. Udførelsen af kode blev organiseret i exploit gennem erstatning af returpointeren fra renderingsfunktionen. Ved hjælp af return-oriented programming (ROP – Return-Oriented Programming, hvor exploit dannes af allerede eksisterende stykker maskininstruktioner, der afsluttes med en returkommando) blev der dannet en kæde for at udføre systemopkaldet execve for at starte en ekstern applikation.

Browseren Ladybird udvikles af Andreas Kling, som engang arbejdede hos Nokia og var involveret i udviklingen af KHTML, og senere var han en af udviklerne af Safari hos Apple. På nuværende tidspunkt er Ladybird i pre-alpha version, som kun er beregnet til udviklerbrug. Projektet blev oprindeligt skabt som en applikation til operativsystemet SerenityOS, men i sommeren sidste år blev det adskilt som et selvstændigt projekt og modtog en donation på 1 million dollars. Browseren er skrevet i C++ (der er besluttet at skifte til Swift) og distribueres under BSD-licensen. Projektet udvikler sin egen motor LibWeb, JavaScript-fortolker LibJS og tilhørende biblioteker.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster