Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-65632— ECDSA signature length is not validated in jose, allowing signature malleability

Quick assessment

Affected
potatosalad jose
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

jose 库接受非标准长度的 ECDSA(ES256、ES256K、ES384 和 ES512)JWS 签名。在验证 ECDSA 签名时,位于 中的 函数会根据签名的实际字节长度将其平分( ),而不是强制要求符合 RFC 7518 §3.4 规定的固定长度;随后,它使用 对每一半进行解码,而该函数会忽略前导零字节。 因此,攻击者若持有一个有效令牌,便可以在 R 和 S 两部分前分别添加前导零字节,生成更长的签名。这些签名在平分后仍能解码为相同的 (r, s) 数值对,从而导致多个不同的签名字节串都能通过同一密钥的验

CVSS 5.1 · Medium
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-65632

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
ECDSA signature length is not validated in jose, allowing signature malleability
Source: CVE Program / CVE List V5
Vulnerability Description
The jose library accepts ECDSA (ES256, ES256K, ES384, and ES512) JWS signatures of a non-canonical length. When verifying an ECDSA signature, jose_jwk_kty_ec:verify/4 in src/jwk/jose_jwk_kty_ec.erl splits the raw signature in half by its actual byte length (split_binary(Signature, byte_size(Signature) div 2)) instead of enforcing the fixed length required by RFC 7518 §3.4, and then decodes each half with crypto:bytes_to_integer/1, which ignores leading zero bytes. As a result, an attacker who holds one valid token can prepend leading zero bytes to each of the R and S halves to produce longer signatures that still split evenly and decode to the same (r, s) pair, so many distinct signature byte strings all verify against the same key (signature malleability). This does not allow forging new payloads or impersonating a signer, because the underlying (r, s) values are unchanged. It does defeat any security control that assumes a valid token or its signature is unique, such as token-revocation-by-hash, replay or idempotency caches, and deduplication logic. This issue affects jose: from 1.0.0 before 1.11.13.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
密码学签名的验证不恰当
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
potatosalad jose 1.0.0 ~ 1.11.13 cpe:2.3:a:potatosalad:jose:*:*:*:*:*:*:*:*
potatosalad jose a7746ecd4950f85a393136e449a91dac62b5c429 ~ 72ce1866622b9329347dc52a94173ac0317bc9cf cpe:2.3:a:potatosalad:jose:*:*:*:*:*:*:*:*

II. Public POCs for CVE-2026-65632

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-65632

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-65632 (1)

Vendor Advisories for CVE-2026-65632 (2)

Other References for CVE-2026-65632 (1)

Same Patch Batch · potatosalad · 2026-10-26 · 8 CVEs total

CVE-2026-65629 7.4 HIGH Weak PBKDF2 parameters for password-encrypted private-key export in jose
CVE-2026-65627 6.9 MEDIUM Decompression bomb via unbounded zlib:inflate in jose_jwe_zip:uncompress/2
CVE-2026-65631 6.9 MEDIUM erlang-jose RSA JWK parsing attempts to factor an attacker-controlled modulus, enabling CP
CVE-2026-65626 5.9 MEDIUM Bleichenbacher padding oracle in RSAES-PKCS1-v1_5 decryption in jose
CVE-2026-65628 5.9 MEDIUM Infinite recursion (CPU denial-of-service) in JOSE.JWK.shared_secret/2 on mismatched key t
CVE-2026-65625 5.9 MEDIUM Attacker-controlled AES-GCM authentication tag length allows tag forgery in jose
CVE-2026-65630 5.9 MEDIUM Timing side-channel in pure-Erlang X25519 scalar multiplication leaks the private key in j

IV. Related Vulnerabilities