GHSA-5q2r-92f9-4m49 CVE-2020-15093 RUSTSEC-2020-0024
Improper verification of signature threshold in tough
- Severity
- 8.6 / 10
- High · CVSS 3.1
- Exploit chance (EPSS)
- 1.36%
- Chance of exploitation in the next 30 days. Higher than 71.67% of scored vulnerabilities.
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-347 Improper Verification of Cryptographic Signature
- Fix
0.7.1- Upgrade tough to this version or later
Description
Impact
The tough library, prior to 0.7.1, does not properly verify the uniqueness of keys in the signatures provided to meet the threshold of cryptographic signatures. It allows someone with access to a valid signing key to create multiple valid signatures in order to circumvent TUF requiring a minimum threshold of unique keys before the metadata is considered valid.
AWS would like to thank Erick Tryzelaar of the Google Fuchsia Team for reporting this issue.
Patches
A fix is available in version 0.7.1.
Workarounds
No workarounds to this issue are known.
References
CVE-2020-6174 is assigned to the same issue in the TUF reference implementation.
https://github.com/theupdateframework/tuf/pull/974 https://nvd.nist.gov/vuln/detail/CVE-2020-6174
For more information
If you have any questions or comments about this advisory, contact AWS Security at aws-security@amazon.com.
Affected versions
crates.io
How to fix
Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.
tough crates.io → 0.7.1
- cargo
cargo update -p tough --precise 0.7.1
Severity breakdown
CVSS 3.1 8.6
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N
- Attack vector
- Network
- Attack complexity
- Low
- Privileges required
- None
- User interaction
- None
- Scope
- Changed
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Weakness
CWE-347: Improper Verification of Cryptographic Signature
The product does not verify, or incorrectly verifies, the cryptographic signature for data.
References
Advisories
Packages
Other links
- github.com/awslabs/tough/security/advisories/GHSA-5q2r-92f9-4m49
- github.com/theupdateframework/tuf/pull/974
- github.com/theupdateframework/tuf/commit/2977188139d065ff3356c3cb4aec60c582b57e0e
- rustsec.org/advisories/RUSTSEC-2020-0024.html
- github.com/awslabs/tough/commit/c1c950682d765ebc661f70381f947bc28b8b058c
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| GHSA-pwqf-9h7j-7mv8 Incorrect threshold signature computation in TUF | Critical | Linked by the source |
| GHSA-4v58-8p28-2rq3 awslabs/tough is Missing Delegated Metadata Validation | Medium | Also affects tough |
| GHSA-8m7c-8m39-rv4x awslabs/tough Delegated Roles have a Signature Threshold Bypass | Medium | Also affects tough |
| GHSA-j8x2-777p-23fc tough cyclic delegation graphs are not detected | Low | Also affects tough |
| GHSA-76g3-38jv-wxh4 tough timestamp metadata is cached when it fails snapshot rollback check | Medium | Also affects tough |
| GHSA-q6r9-r9pw-4cf7 tough failure to detect delegated target rollback | Medium | Also affects tough |
| GHSA-v4wr-j3w6-mxqc tough terminating targets role delegations are not respected | Medium | Also affects tough |
| GHSA-5vmp-m5v2-hx47 tough root metadata version is not checked for sequential versioning | Medium | Also affects tough |
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor