CVE-2022-25845 er en høj-alvorlig sikkerhedsfejl (bedømmelse 8.1 ud af 10 på CVSS skala) i det velkendte Fastjson-bibliotek, som kunne bruges i fjernudførelse af kodeangreb.
Heldigvis, sårbarheden er allerede rettet. Sårbarheden stammer fra deserialisering af ikke-pålidelige data i AutoType-funktionen, og blev rettet af projektets vedligeholdere i version 1.2.83.
CVE-2022-25845 Tekniske detaljer
Ifølge sikkerhedsforsker Uriya Yavnieli fra JFrog, sårbarheden "er stadig indhyllet i mystik". Hvad man ved er, at det påvirker alle Java-apps, der er afhængige af Fastjson-versioner 1.2.80 eller tidligere, og versioner, der sender brugerkontrollerede data til enten JSON.parse eller JSON.parseObject API'erne uden at angive en specifik klasse, der skal deserialiseres.
»Der er knapt nok nogen offentlige tekniske detaljer om det – hvem der præcist er sårbare og under hvilke forhold?,”Forskeren tilføjet.
Ifølge den officielle beskrivelse, "Fastjson er et Java-bibliotek, der kan bruges til at konvertere Java-objekter til deres JSON-repræsentation. Det kan også bruges til at konvertere en JSON-streng til et tilsvarende Java-objekt." Biblioteket kan arbejde med vilkårlige Java-objekter inklusive allerede eksisterende objekter, som udviklere ikke har nogen kildekode til.
AutoType, den sårbare funktion, er aktiveret som standard. Den specificerer en brugerdefineret type ved parsing af et JSON-input, der kan deserialiseres til et objekt af den specifikke klasse.
Der vises et sikkerhedsproblem, hvis den deserialiserede JSON er brugerstyret, parser det med AutoType aktiveret. Dette kan føre til en deserialiseringssårbarhed, da trusselsaktører kan "instantiere enhver klasse, der er tilgængelig på Classpath, og fodre dens konstruktør med vilkårlige argumenter,” forklarede forskeren i sin teknisk opskrivning.
Projektejerne omgik sårbarheden ved at introducere en sikker tilstand, der deaktiverer AutoType. De begyndte også at vedligeholde en blokliste over klasser for at beskytte mod sådanne fremtidige problemer. Men, CVE-2022-25845 omgår begrænsningerne og kan oprette en fjernkørsel af programkode angreb.
Fastjson-brugere bør opdatere til version 1.2.83 eller aktiver safeMode for at slå funktionen fra og undgå deserialiseringsangreb.