Due to how Wire handles type information in its serialization format, malicious payloads can be passed to a deserializer. e.g. using a surrogate on the sender end, an attacker can pass information about a different type for the receiving end. And by doing so allowing the serializer to create any type on the deserializing end.
This is the same issue that exists for .NET BinaryFormatter https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2300?view=vs-2019
This also applies to the fork of Wire, AkkaDotNet/Hyperion.
Where we believe the maintainers deliberately are hiding this vulnerability from users:
See how the link to the original repo Wire, as removed from the Hyperion readme, just days after disclosing the vulnerability.
Due to how Wire handles type information in its serialization format, malicious payloads can be passed to a deserializer. e.g. using a surrogate on the sender end, an attacker can pass information about a different type for the receiving end. And by doing so allowing the serializer to create any type on the deserializing end.
This is the same issue that exists for .NET BinaryFormatter https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2300?view=vs-2019
This also applies to the fork of Wire, AkkaDotNet/Hyperion.
Where we believe the maintainers deliberately are hiding this vulnerability from users:
See how the link to the original repo Wire, as removed from the Hyperion readme, just days after disclosing the vulnerability.