CVE-2026-23967: sm-crypto Signature Malleability Vulnerability

sm-crypto Updated 21 Jan 2026

Summary

21/01/2026
Yes i
High
7.5

CVE-2026-23967: sm-crypto Affected by Signature Malleability in SM2-DSA. Affects sm-crypto versions < 0.3.14. Fixed in 0.3.14. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Mobile apps built by Devnack Design, build and launch iOS and Android apps with a senior product team. From idea to store release Start a project

Background

The sm-crypto library is a JavaScript implementation of cryptographic algorithms, primarily used for secure communications and data integrity. It provides functionalities for various cryptographic operations, including digital signatures, encryption, and decryption. However, the library is susceptible to a signature malleability vulnerability in its SM2 signature verification logic, which can lead to security issues if exploited.

Vulnerability Detail

A signature malleability vulnerability exists in the SM2 signature verification logic of the sm-crypto library. This vulnerability allows an attacker to derive a new valid signature for a previously signed message from an existing signature. The implications of this vulnerability are significant, as it can undermine the integrity of signed messages, potentially allowing attackers to impersonate legitimate users or alter the intended message without detection.

How To Fix

Minimum fixed version

0.3.14

This is the first release that contains the fix.

npm install sm-crypto@0.3.14

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

If you are unable to update the package immediately, consider implementing additional validation checks on signatures to mitigate the risk of signature malleability. However, this is not a complete solution and should only be a temporary measure until the package can be updated.

Conclusion

The sm-crypto library is affected by a significant signature malleability vulnerability that can compromise the integrity of signed messages. It is crucial to update to version 0.3.14 or later to mitigate this risk. Users should also consider using tools like Vulert to monitor for vulnerabilities in their applications.

See every vulnerability recorded for sm-crypto →

Share this vulnerability

FAQ

The CVSS score of this vulnerability is 7.5, indicating a high severity level.

You can use the Vulert playground at Vulert Scanner to check if your application is affected by this vulnerability without requiring any signup.

The risks include the potential for attackers to create valid signatures for messages, which can lead to impersonation and message integrity issues.

Yes, version 0.3.14 and later of sm-crypto contains the fix for this vulnerability.

Implement additional validation checks on signatures as a temporary workaround until you can update to the patched version.

Related vulnerabilities

Recent vulnerabilities recorded for sm-crypto.

How To Fix

Minimum fixed version

0.3.14

This is the first release that contains the fix.

npm install sm-crypto@0.3.14

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback