Vulnerability · Published May 11, 2021 · Assigned by GitHub_M
CVE-2021-29508Insecure deserialization in Wire
Critical 9.1
In plain English
A critical-severity unsafe deserialization in Wire from AsynkronIT. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 1.6% (higher than 76% of all known vulnerabilities).
Official description
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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| NuGet | wire | no fix listed | GHSA-hpw7-3vq3-mmv6 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| AsynkronIT | Wire | <= 1.0.0 |
Weakness: CWE-502 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
References
- https://github.com/AsynkronIT/Wire/security/advisories/GHSA-hpw7-3vq3-mmv6 x_refsource_CONFIRM
- https://www.nuget.org/packages/Wire/ x_refsource_MISC