CVE-2022-47930 json
IO FinNet tss-lib vulnerable to replay attacks involving proofs
published 2023-04-21 3 y ago modified 2026-06-17 4 mo ago also GHSA-c58h-qv6g-fw74 , GO-2023-1867 , EUVD-2023-1437
- cvss
- 6.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 44%
- public exploits
- 0
- none known
Summary
An issue was discovered in IO FinNet tss-lib before 2.0.0. The parameter ssid for defining a session id is not used through the MPC implementation, which makes replaying and spoofing of messages easier. In particular, the Schnorr proof of knowledge implemented in sch.go does not utilize a session id, context, or random nonce in the generation of the challenge. This could allow a malicious user or an eavesdropper to replay a valid proof sent in the past.
Patch / fix
- go github.com/bnb-chain/tss-lib 2.0.0
- go github.com/binance-chain/tss-lib 2.0.0
- iofinnet tss-lib 2.0.0
- govulncheck-vulndb SLE Module for Package Hub 15 SP6, openSUSE Leap 15.6 0.0.20250207T224745-150000.1.32.1
suse advisories SUSE-SU-2025:0429-1
- govulncheck-vulndb openSUSE Tumbleweed 0.0.20250207T224745-1.1
opensuse advisories openSUSE-SU-2025:14754-1
- github.com/bnb-chain/tss-lib@1a14f3a commit
- github.com/bnb-chain/tss-lib#256 pull request
- github.com/IoFinnet/tss-lib/releases/tag/v2.0.0 release
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 21 mo ago
Exploit prediction
0.52% chance of exploitation in the next 30 days, higher than 44% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N |
| NVD | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N |
| CNA | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N |
| GitHub | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/bnb-chain/tss-lib | <2.0.0 all versions |
2.0.0 |
| go | github.com/binance-chain/tss-lib | <2.0.0 all versions |
2.0.0 |
Classification
- Weakness
-
- CWE-294 Authentication Bypass by Capture-replay
References
-
github.com
/bnb-chain/tss-lib/pull/256
web
-
github.com
/bnb-chain/tss-lib/commit/1a14f3ac9ecbf6115e80d44c7fff16bcc3139250
web
-
github.com
/IoFinnet/tss-lib/releases/tag/v2.0.0
web, release-notes
- medium.com /%40iofinnet/security-disclosure-for-ecdsa-and-eddsa-threshold-signature-schemes-4e969af7155b
-
nvd.nist.gov
/vuln/detail/CVE-2022-47930
advisory
-
github.com
/bnb-chain/tss-lib
package
-
medium.com
/@iofinnet/security-disclosure-for-ecdsa-and-eddsa-threshold-signature-schemes-4e969af7155b
web, advisory
Sources
- CVE List CVE-2022-47930
- GitHub Advisory GHSA-c58h-qv6g-fw74
- NVD CVE-2022-47930
- OSV GO-2023-1867
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.