CVE-2020-8929 Ciphertext integrity weakness in Tink
Attackers can modify ciphertext IDs to create duplicates decrypting to the same plaintext, compromising integrity in deterministic AEAD scenarios.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2020-8929?
CVE-2020-8929 is a medium-severity vulnerability in Google LLC Tink, published on 19 Oct 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
A mis-handling of invalid unicode characters in the Java implementation of Tink versions prior to 1.5 allows an attacker to change the ID part of a ciphertext, which result in the creation of a second ciphertext that can decrypt to the same plaintext. This can be a problem with encrypting deterministic AEAD with a single key, and rely on a unique ciphertext-per-plaintext.
Weakness: CWE-176
Which versions are affected by CVE-2020-8929?
3 open source packages ship an affected version, including com.google.crypto.tink:tink and tink. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
com.google.crypto.tink:tink Maven | All versions | 1.5.0 |
com.google.crypto.tink:tink Maven | All versions | 1.5.0 |
tink PyPI | All versions | 1.5.0 |
Products include Google Tink Java.
How do I fix CVE-2020-8929?
Upgrade com.google.crypto.tink:tink to 1.5.0 or later.
Is CVE-2020-8929 being exploited?
There is no known exploitation of CVE-2020-8929 in the wild and no public exploit code.
Other vulnerabilities in Google LLC Tink
Sources
Also known as GHSA-g5vf-v6wf-7w2r, PYSEC-2020-142.