En kritisk Protobuf-sårbarhed udsætter applikationer for JavaScript-kørsel gennem et bredt anvendt bibliotek. Forskere identificerede problemet i protobuf.js, som er almindeligt i moderne web- og cloudmiljøer.
Sårbarheden gør det muligt for angribere at injicere ondsindet input, der bliver til eksekverbar kode.
Usikker kodegenerering skaber risikoen
Protobuf-sårbarheden stammer fra, hvordan protobuf.js genererer kode dynamisk. Biblioteket opbygger JavaScript-funktioner fra strenge og eksekverer dem ved hjælp af Function()-konstruktøren.
Det validerer ikke identifikatorer fra skemadefinitioner korrekt. Som resultat kan angribere indsætte manipuleret input, der bliver en del af den eksekverede kode.
Når den er behandlet, kører payloaden i applikationsmiljøet og åbner for kompromittering.
Ondsindede skemaer muliggør udnyttelse
Angribere kan udnytte problemet ved at levere en specialudformet skemafil. Når applikationen behandler denne fil, udføres den ondsindede kode automatisk.
Angrebet kræver minimal interaktion. En enkelt behandlet besked kan udløse eksekvering, hvilket gør problemet meget effektivt.
Konsekvenserne kan inkludere adgang til følsomme data, miljøvariabler og interne systemer.
Udbredt brug øger eksponeringen
Risikoen stiger, fordi protobuf.js er bredt anvendt på tværs af applikationer. Mange platforme er afhængige af det til kommunikation mellem tjenester og realtidsdatabehandling.
Denne brede anvendelse øger sandsynligheden for, at sårbare versioner stadig er aktive i produktionsmiljøer.
Opdateringer er frigivet, men forsigtighed er nødvendig
Protobuf-sårbarheden påvirker versioner op til 8.0.0 og 7.5.4. Udviklere bør opgradere til opdaterede versioner 8.0.1 eller 7.5.5 uden forsinkelse.
Løsningen forbedrer valideringen ved at blokere usikre tegn. Problemet fremhæver dog dybere bekymringer omkring dynamisk kodeeksekvering i kernebiblioteker.
Selv uden bekræftede angreb findes der allerede proof-of-concept-kode.
Konklusion
Protobuf-sårbarheden viser, hvordan en enkelt fejl i en almindelig afhængighed kan skabe alvorlige sikkerhedsrisici. Dynamisk kodegenerering forbliver en risikabel praksis, når den ikke er stramt kontrolleret.
Udviklere bør opdatere berørte systemer og gennemgå, hvordan applikationer håndterer eksterne skemadata. Tidlig handling reducerer risikoen for udnyttelse og begrænser potentiel skade.


0 svar til “Protobuf-sårbarhed muliggør JavaScript-kørsel”