CVE-2022-25845 is een zeer ernstige beveiligingsfout (beoordeling 8.1 uit 10 op de schaal CVSS) in de bekende Fastjson-bibliotheek die kan worden gebruikt bij externe code-uitvoeringsaanvallen.
Gelukkig, de kwetsbaarheid is al verholpen. De kwetsbaarheid komt voort uit deserialisatie van niet-vertrouwde gegevens in de AutoType-functie, en is opgelost door de projectbeheerders in versie 1.2.83.
CVE-2022-25845 Technische details
Volgens beveiligingsonderzoeker Uriya Yavnieli van JFrog, de kwetsbaarheid "is nog steeds in nevelen gehuld". Wat wel bekend is, is dat het van invloed is op alle Java-apps die afhankelijk zijn van Fastjson-versies 1.2.80 of eerder, en versies die door de gebruiker gecontroleerde gegevens doorgeven aan de JSON.parse- of JSON.parseObject-API's zonder een specifieke klasse op te geven om te deserialiseren.
“Er zijn nauwelijks openbare technische details over – wie precies kwetsbaar is en onder welke voorwaarden?,”Voegde de onderzoeker.
Volgens de officiële beschrijving, "Fastjson is een Java-bibliotheek die kan worden gebruikt om Java-objecten om te zetten in hun JSON-representatie. Het kan ook worden gebruikt om een JSON-string naar een equivalent Java-object te converteren.” De bibliotheek kan werken met willekeurige Java-objecten, inclusief reeds bestaande objecten waarvoor ontwikkelaars geen broncode hebben.
Autotypie, de kwetsbare functie, is standaard ingeschakeld. Het specificeert een aangepast type bij het ontleden van een JSON-invoer die kan worden gedeserialiseerd in een object van de specifieke klasse.
Er treedt een beveiligingsprobleem op als de gedeserialiseerde JSON door de gebruiker wordt beheerd, het ontleden met AutoType ingeschakeld. Dit kan leiden tot een kwetsbaarheid voor deserialisatie, aangezien bedreigingsactoren "elke klasse kunnen instantiëren die beschikbaar is op het Classpath", en voed zijn constructor met willekeurige argumenten,” legde de onderzoeker uit in zijn technisch artikel.
De projecteigenaren hebben de kwetsbaarheid omzeild door een veilige modus te introduceren die AutoType uitschakelt. Ze begonnen ook een blokkeerlijst van klassen bij te houden om te beschermen tegen dergelijke toekomstige problemen. Echter, CVE-2022-25845 omzeilt de beperkingen en kan een uitvoering van externe code aanval.
Fastjson-gebruikers moeten updaten naar versie 1.2.83 of schakel safeMode in om de functie uit te schakelen en deserialisatie-aanvallen te voorkomen.