CVE Feed
5.9 Medium

secp256k1-native is a native C secp256k1 implementation for Ruby.

CVE-2026-63410

secp256k1-native is a native C secp256k1 implementation for Ruby. In affected native builds, native constant-time scalar multiplication through Point#mul or scalarmultiplyct can leak timing information about a secret scalar when compiled by a toolchain that reconstructs branchless selection into a branch. The Montgomery ladder uses uint256select with an all-zeros or all-ones mask, but affected GCC builds at -O2 recover the original condition and emit secret-dependent je or jne jumps whose timing correlates with scalar bits. This defeats the assumption behind the 0.17.0 jpaddinternal infinity-branch fix. A consumer must multiply a secret private key or nonce in a context where an attacker can observe timing; repeated measurements can statistically recover scalar bits. The defect is in the compiled binary, so source review or ctgrind on a non-reconstructing toolchain may miss it. GCC 14.3.0, 15.1.0, and 15.2.0 reproduced the branch reconstruction, and extconf.rb appends -O2. Tested GCC versions through 12.4.0 used bitwise operations and GCC 13.3.0 used constant-time cmov; the pure-Ruby path is not affected by this flaw and separately makes no constant-time claim. GCC 16 and clang…

Assessment

CVSS
5.9 (v3.1)
Severity
Medium
Known exploited
Not listed in CISA KEV
Exploit availability
Nothing found in Exploit-DB, Metasploit, Nuclei or public PoC repositories
Published
30 October 2026
Last updated
30 October 2026
Affected
sgbett
Assigner
GitHub_M

CVSS vectorCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N

At the source

References

Query this programmatically

Agents can read this through the MCP endpoint, or over HTTP:

curl https://cve.zerocrew.in/api/cve/CVE-2026-63410