Skip to main content

UltrafastSecp256k1 CVE-2026-55174

| EUVDEUVD-2026-90188 MEDIUM
Insufficient Verification of Data Authenticity (CWE-345)
2026-09-30 GitHub_M
5.9
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Enter adaptor-signature protocol as signer
  2. Delivery
    Substitute unbound r', rescale s_hat
  3. Exploit
    Craft forged pre-signature
  4. Execution
    Victim's adaptor_verify accepts as adaptable
  5. Impact
    Non-adaptable pre-sig breaks swap fairness

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Data authenticity verification
Exploitation Conditions

Exploitation requires that the application use UltrafastSecp256k1's ECDSA adaptor-signature feature (ecdsa_adaptor_sign / ecdsa_adaptor_verify) prior to version 4.2.0 and rely on ecdsa_adaptor_verify returning true to mean a pre-signature is genuinely adaptable - e.g. in atomic swaps, discreet log contracts, or payment-channel constructions. The attacker must be the signing counterparty who can craft the pre-signature, substituting an arbitrary r' not bound to adaptor point T and rescaling s_hat = s_hat*(z + r'*x)*(z + r*x)^-1. Limiting factors: no impact against deployments that do not use the adaptor-signature path; the flaw is integrity-only (no data disclosure or crash); AC:H reflects the cryptographic knowledge and protocol positioning needed; and it is fully remediated by upgrading to 4.2.0 or later.

Impact

This is a genuine cryptographic soundness flaw but a low real-world priority given the product's obscurity. The vendor CVSS of 5.9 (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N) correctly captures an integrity-only impact with no confidentiality or availability effect and elevated attack complexity - consistent with a protocol-level forgery that requires the attacker to act as the signing party and construct a mathematically consistent but unbound pre-signature. No EPSS score, no CISA KEV listing, and no public exploit were supplied; per the precision rules this is 'no public exploit identified at time of analysis.' The commit diff does include a regression test that demonstrates the forgery construction (substituting r' and rescaling s_hat), so the exploit technique is publicly documented in the fix, but that is a defensive test rather than weaponized exploit code and should not be conflated with active exploitation. No SSVC decision data was provided. The signals are internally consistent - there is no CVSS-vs-description conflict here - but note that PR:N reflects that the malicious actor is a legitimate protocol counterparty (the signer) rather than an authenticated user of a victim system; the true limiting factor is that an application must actually use the ECDSA adaptor-signature workflow and trust its verification result.

Exploit ScenarioDerived

Two parties run an atomic swap or discreet log contract using this library's ECDSA adaptor signatures. A malicious signer produces a pre-signature with an 'r' value that is not cryptographically bound to the adaptor point T (substituting an arbitrary r' and rescaling s_hat accordingly); the victim's ecdsa_adaptor_verify wrongly accepts it as a valid, adaptable pre-signature, but it cannot actually be adapted into a usable signature, breaking the swap's fairness in the attacker's favor. The forgery construction is documented in the patch's regression test, though no standalone public exploit tool is identified.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 30, 2026

ECDSA adaptor pre-signature verification in UltrafastSecp256k1 before 4.2.0 accepts forged adaptor pre-signatures whose r value is not cryptographically bound to the adaptor point T, allowing a malicious signing counterparty to produce a pre-signature that passes ecdsa_adaptor_verify even though it is not genuinely adaptable. This is an integrity-only cryptographic soundness flaw (CVSS 3.1 5.9, AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N) affecting deployments that use the library's ECDSA adaptor-signature path, such as atomic swaps, discreet log contracts, or payment channels. No public exploit code was identified at time of analysis, and it is fully fixed in 4.2.0.

RemediationAI

Upgrade to UltrafastSecp256k1 4.2.0 or later; the vendor advisory GHSA-c7q2-gv3g-rgxm and commit 5478ef566c6af91b48a45c0c61f161f5b1071981 document the DLEQ-bound verification fix, and v4.2.1 is also published. If immediate upgrade is not possible, disable or avoid the ECDSA adaptor pre-signature verification path (ecdsa_adaptor_verify) and do not treat a true return from that function as proof that a pre-signature is adaptable; this is a compensating control with the side effect of breaking adaptor-based atomic swaps, discreet log contracts, or payment-channel flows that depend on that API. Restricting the library to standard ECDSA/Schnorr operations without adaptor signatures also removes exposure but drops the intended adaptor functionality; because there is no known public exploit and exploitation requires the attacker to be the signing counterparty, prioritize upgrades for services that actually use adaptor signatures.

Affected VersionsENISA

UltrafastSecp256k1 < 4.2.0

Affected Packages

euvd ultrafastsecp256k1 fix: 4.2.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

UltrafastSecp256k1 is a multi-backend secp256k1 engine with reproducible audit evidence and compatibility shims. ECDSA adaptor signatures let a signer produce a pre-signature that becomes a valid ECDSA signature once an adaptor secret t is revealed; the adaptor point T = t*G binds the pre-signature to that secret. CWE-345 (Insufficient Verification of Data Authenticity) is the root cause: prior to 4.2.0 the implementation used a binding scalar that cancelled during verification and did not actually tie the pre-signature's r (x-coordinate of k*T) to T, so a malicious signer who knows the signing key could substitute an arbitrary r' and rescale s_hat = s_hat*(z + r'*x)*(z + r*x)^-1 while still passing ecdsa_adaptor_verify. The fix in commit 5478ef566c6af91b48a45c0c61f161f5b1071981 replaces that binding scalar with a Chaum-Pedersen DLEQ proof showing R_hat = k*G and R = k*T share the same k, and verification now checks the DLEQ, r == R.x, and the ECDSA relation; regression tests ADB-6 explicitly reject substituted r', tampered DLEQ responses, and swapped R. The CVSS vector's PR:N indicates no authentication is required from the CVSS perspective, but practical exploitation requires the attacker to be the signing counterparty with protocol positioning and cryptographic knowledge, and there is no impact against deployments that do not use the adaptor-signature feature. Although one tag labels this Information Disclosure, the assessed vector is C:N/I:H/A:N, so the practical effect is integrity-only.

Know when Ultrafastsecp256K1 gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
vuln.today AI 5.9 MEDIUM

Network-reachable protocol forgery by a malicious signer needing no victim-side privileges (PR:N); cryptographic craft raises complexity (AC:H); soundness break is integrity-only (I:H, C/A:N).

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

Lifecycle Timeline

1
Patch available
Sep 30, 2026 - 17:04 EUVD

DescriptionCVE.org

UltrafastSecp256k1 is a high-performance, multi-backend secp256k1 engine with reproducible audit evidence, compatibility shims, and profile-based review scopes. Prior to version 4.2.0, UltrafastSecp256k1's ECDSA adaptor pre-signature verification accepts forged adaptor pre-signatures whose "r" value is not cryptographically bound to the adaptor point "T". This issue has been patched in version 4.2.0.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Rare
obscure single-maintainer GitHub crypto library, negligible production footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy