Deserialization in Asynkron Wire

CVE-2021-29508

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.

Vulnerability class: Insecure Deserialization

EPSS: 0.016 (73.5th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 9.1 (Critical). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H.

Affected products

Weakness classification (CWE)

Public proof-of-concept exploits

References

Frequently asked questions

What is CVE-2021-29508?
CVE-2021-29508 is a critical-severity vulnerability in Asynkron Wire, classified under Deserialization of Untrusted Data. CVSS score: 9.1/10. Published 2021-05-11.
How severe is CVE-2021-29508?
Critical severity. CVSS v3 base score is 9.1 out of 10.
Is CVE-2021-29508 known to be exploited?
1 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.