Skip to content

GHSA-5q2r-92f9-4m49 CVE-2020-15093 RUSTSEC-2020-0024

Improper verification of signature threshold in tough

High crates.io
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

PackageVulnerableFixed in
tough
< 0.7.1
0.7.1
tough
>= 0.0.0-0, < 0.7.1
0.7.1

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

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy 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
Is this in your code?

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