CVE-2025-58359: frost-core Refresh Shares With Smaller Min_signers Vulnerability

MODERATE
Advisory Identifier: GHSA-wgq8-vr6r-mqxm
CWE-269 CWE-325
Published
Advisory Summary

CVE-2025-58359 is a MODERATE refresh shares with smaller min_signers vulnerability (CWE-269: Improper Privilege Management) affecting frost-core libraries in the crates.io ecosystem. The issue involves refresh shares with smaller min_signers will reduce security of group. Remediation is available by upgrading affected packages to version 2.2.0.

CVE-2025-58359 at a Glance

CVE Identifier CVE-2025-58359
GHSA Identifier GHSA-wgq8-vr6r-mqxm
Severity MODERATE
CVSS v3.1 Base Score N/A
CWE Classification CWE-269: Improper Privilege Management
Affected Product frost-core
Package Ecosystem crates.io
Published Date
Last Updated

How to Fix CVE-2025-58359

To remediate this vulnerability, upgrade all affected frost-core dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

frost-core fixed: 2.2.0
Upgrade frost-core to 2.2.0
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

inspect dependencies for frost-core

How to Check if You Are Affected

To determine whether your application is affected by CVE-2025-58359, inspect your project dependencies for frost-core:

inspect dependencies for frost-core

Analyze the terminal output to locate any version of frost-core in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 2.2.0), your application is affected.

Note: Verify declared build manifests and deployed runtime container environments.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-269: Improper Privilege Management, where the product does not properly assign, modify, track, or check privileges for an actor, creating an unintended sphere of control for that actor. In frost-core, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

### Impact It was not clear that it is not possible to change `min_signers` (i.e. the threshold) with the refresh share functionality (`frost_core::keys::refresh` module). Using a smaller value would not decrease the threshold, and attempts to sign using a smaller threshold would fail. Additionally, after refreshing the shares with a smaller threshold, it would still be possible to sign with the original threshold; however, this could cause a security loss to the participant's shares. We have not determined the exact security implications of doing so and judged simpler to just validate `min_signers`. If for some reason you have done a refresh share procedure with a smaller `min_signers` we strongly recommend migrating to a new key. ### Patches Updating to 2.2.0 will ensure that the `min_signers` parameter will be validated. However it won't restore the security of groups refreshed with a smaller `min_signers` parameters. ### Workarounds You don't need to update if you don't use the refresh share functionality, or if you didn't try to change the `min_signers` parameter using the refresh share functionality. ### References Thank you [BlockSec](https://blocksec.com/) for reporting the finding

CVE-2025-58359 Affected frost-core Versions

1 component(s)
Fixed Versions:
2.2.0
Product / Package Ecosystem Affected Versions Fixed Version
frost-core
crates.io
≥ 2.0.0
< 2.2.0
2.2.0

References

Frequently Asked Questions

What is CVE-2025-58359?
CVE-2025-58359 is a security vulnerability in frost-core involving refresh shares with smaller min_signers will reduce security of group under CWE-269: Improper Privilege Management.
Which frost-core versions are affected?
Affected versions include releases prior to 2.2.0 across affected packages: frost-core.
What version fixes CVE-2025-58359?
Upgrading to 2.2.0 (or the latest patched release for your respective branch) resolves the vulnerability.
Is frost-core affected?
Yes, frost-core is affected in releases prior to 2.2.0. Upgrade your dependency to 2.2.0 or later.
What CWE is associated with CVE-2025-58359?
CVE-2025-58359 is classified under CWE-269: Improper Privilege Management (The product does not properly assign, modify, track, or check privileges for an actor, creating an unintended sphere of control for that actor.).
How can I check crates.io dependencies for CVE-2025-58359?
Run the dependency tree command: 'inspect dependencies for frost-core'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-wgq8-vr6r-mqxm",
  "modified" : "2025-09-05T16:11:20Z",
  "published" : "2025-09-03T21:29:18Z",
  "aliases" : [ "CVE-2025-58359" ],
  "summary" : "frost-core: refresh shares with smaller min_signers will reduce security of group",
  "details" : "### Impact\n\nIt was not clear that it is not possible to change `min_signers` (i.e. the threshold) with the refresh share functionality (`frost_core::keys::refresh` module). Using a smaller value would not decrease the threshold, and attempts to sign using a smaller threshold would fail. Additionally, after refreshing the shares with a smaller threshold, it would still be possible to sign with the original threshold; however, this could cause a security loss to the participant's shares. We have not determined the exact security implications of doing so and judged simpler to just validate `min_signers`. \n\n If for some reason you have done a refresh share procedure with a smaller `min_signers` we strongly recommend migrating to a new key. \n\n### Patches\n\nUpdating to 2.2.0 will ensure that the `min_signers` parameter will be validated. However it won't restore the security of groups refreshed with a smaller `min_signers` parameters.\n\n### Workarounds\n\nYou don't need to update if you don't use the refresh share functionality, or if you didn't try to change the `min_signers` parameter using the refresh share functionality.\n\n### References\n\nThank you [BlockSec](https://blocksec.com/) for reporting the finding",
  "severity" : [ {
    "type" : "CVSS_V4",
    "score" : "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "crates.io",
      "name" : "frost-core"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "2.0.0"
      }, {
        "fixed" : "2.2.0"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/ZcashFoundation/frost/security/advisories/GHSA-wgq8-vr6r-mqxm"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2025-58359"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/ZcashFoundation/frost/commit/379ef689c733b3d9c80fd409071d4f3af4dafed2"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/ZcashFoundation/frost"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/ZcashFoundation/frost/releases/tag/frost-core%2Fv2.2.0"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-269", "CWE-325" ],
    "severity" : "MODERATE",
    "github_reviewed" : true,
    "github_reviewed_at" : "2025-09-03T21:29:18Z",
    "nvd_published_at" : "2025-09-05T00:15:32Z"
  }
}