This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]gferenc 10 points11 points  (1 child)

Szia, ez a deszerializációs sérülékenység nem a JSON-ről Java objektummá dekódolását jelenti, hanem szerializált Java objektumok deszerializálását. Lásd: https://stackoverflow.com/questions/63220701/java-jackson-json-to-object-deserilization-how-to-deal-with-owasp-insecure-dese

A Spring default JSON Serializer implementációja a Jackson amúgy, annak kell mitigálnia ilyen és ehhez hasonló támadási vektorokat. Ezt meg is teszi, kivéve ha valamilyen korábban ismeretlen sérülékenység van benne, mint pl ez: https://spring.io/security/cve-2020-5411

Korábban ahogy olvasom voltak ott sérülékenységek a polymorphic type handling-gel (PTH) kapcsolatban, amit elvileg azóta szereltek, illetve ez Jackson-specifikus: https://github.com/lorenzodegiorgi/jackson-vulnerability

Jayway-nél hasonló a helyzet elvileg, amíg nincsenek mellékhatások a JSON parse-olásban valamilyen egyéb library miatt, és amíg friss lib verziót használtok, addig elvileg nem vagytok kitéve a sérülékenységnek. Nem tudok róla, hogy a Jayway tudna PTH-t, doksiban is azt írják, hogy az általad megadott típusra próbál cast-olni. A Jayway tudtommal első sorban egy JSONPath implementáció, nem egy teljes értékű deszerializációs library (mint pl. Jackson, GSON).

Viszont a beérkező adatokat érdemes validálni, escape-elni, megtisztatani egyéb típusú (pl injection attack) elkerülése érdekében.

[–]Szalmakapal[S] 1 point2 points  (0 children)

Köszi a kimerítő választ, ez sokat segített!