Skip to content

About the logo

YSoNet logo: differently shaped puzzle pieces pass through two portals, with binary data between them.

Download the animated GIF · View the static SVG

The YSoNet logo follows an object through serialization and deserialization: into the first portal as an object, across as data, and out of the second as a reconstructed object graph.

The different puzzle shapes highlight a possibility: reconstructed objects can have state that ordinary application construction would never produce. Depending on the serializer and types involved, deserialization may populate fields directly, bypass constructors and their validation, resolve types from metadata, or invoke callbacks and other code.

Gadget chains exploit existing code reachable through attacker-controlled types, state, or object relationships, during deserialization or later use. The danger lies in the behavior this enables, not simply in receiving a different object instance. An attacker may craft the data without ever creating an original object.

Reconstructing state can activate behavior.

Microsoft documents constructor bypass and state assumptions, risks during callbacks and later use, and type-driven control flow in unsafe deserialization. See also YSoNet's security guidance.