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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-18036— NTRU leaks private key information by reducing secret values with a non-constant-time integer division

Quick assessment

Affected
Legion of the Bouncy Castle Inc. BC-JAVA
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.

在 Bouncy Castle for Java 1.86 之前的版本中,NTRU 算法在三个辅助函数中使用取模运算符(%)来缩减秘密值,而这些辅助函数的参考实现刻意避免了除法操作。然而,实际实现中却使用了整数除法,其延迟时间依赖于秘密操作数,从而引入了时序侧信道泄露风险。 具体而言: 方法使用变量除数进行除法运算。由于除数是变量,编译器无法像优化常量除法那样,通过乘法指令进行“强度削减”(strength-reduce),因此在每次调用时都会执行除法操作,包括在解封装(decapsulation)路径中——该路径

CVSS 8.2 · High EPSS 0.28% · P19

Possible ATT&CK Techniques 1 AI

T1564.008 · Email Hiding Rules

Affected Version Matrix 1

VendorProduct Version RangeStatus
Legion of the Bouncy Castle Inc. BC-JAVA 1.73< 1.86 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-18036

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
NTRU leaks private key information by reducing secret values with a non-constant-time integer division
Source: CVE Program / CVE List V5
Vulnerability Description
In Bouncy Castle for Java before 1.86, NTRU reduced secret values with the % operator in three helpers whose reference implementations are deliberately division-free, so each reduction was carried out by an integer division whose latency depends on the secret operand. Polynomial.modQ divided by a variable divisor, which a compiler cannot strength-reduce to a multiply the way it can a constant one, so it emitted a division on every call including on the decapsulation path where the dividend derives from the private key; Polynomial.mod3 and NTRUSampling.mod3 divided the secret key polynomials f and g during key generation, the message polynomials r and m during encapsulation, and coefficients recovered during decapsulation. An attacker able to measure that timing can recover information about the NTRU private key. modQ now masks, which is exact because q is always a power of two, and mod3 uses the reference implementation's division-free fold and select; the results are unchanged.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/U:Amber
Source: CVE Program / CVE List V5
Vulnerability Type
通过时间差异性导致的信息暴露
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
Legion of the Bouncy Castle Inc. BC-JAVA 1.73 ~ 1.86 -

II. Public POCs for CVE-2026-18036

# 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-18036

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

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

Proof of Concept for CVE-2026-18036 (1)

Same Patch Batch · Legion of the Bouncy Castle Inc. · 2026-10-02 · 24 CVEs total

CVE-2026-63569 9.1 CRITICAL MTI/A0 DHAgreement does not validate the peer's ephemeral value
CVE-2026-16000 8.7 HIGH KCcmBlockCipher (DSTU 7624 CCM) tag not bound to nonce when no associated data is used
CVE-2026-63571 8.7 HIGH Attribute certificate path validation does not verify the attribute certificate's signatur
CVE-2026-63566 8.7 HIGH DTLS handshake reassembler allocates buffer from unchecked 24-bit length
CVE-2026-63574 8.7 HIGH Unbounded allocation from OpenPGP signature and user attribute subpacket lengths
CVE-2026-63568 8.7 HIGH Unbounded CMP/CRMF password-based MAC iteration count allows CPU exhaustion
CVE-2026-103600 8.7 HIGH Unbounded ASN.1 nesting depth causes process-terminating stack overflow
CVE-2026-103604 8.7 HIGH Quadratic-time escaping when converting X.509 distinguished names to strings
CVE-2026-103603 8.7 HIGH Unbounded HSS public key level count allows huge array allocation during signature verific
CVE-2026-17507 8.7 HIGH MLS membership checks compare a uint32 leaf_index as signed, admitting an out-of-range sen
CVE-2026-16001 8.2 HIGH IesEngine stream-mode MAC forgery via length-dependent KDF split
CVE-2026-63577 8.2 HIGH Name Constraints bypass: directoryName constraint matched at any position in the DN instea
CVE-2026-63576 8.2 HIGH URI name constraints checked against a mis-parsed host
CVE-2026-63573 8.2 HIGH Bleichenbacher padding oracle in CMS RSA PKCS#1 v1.5 key-transport unwrap
CVE-2026-103602 8.2 HIGH Name constraints bypass via trailing dot in rfc822Name, dNSName and URI hosts
CVE-2026-103601 8.2 HIGH CcmBlockCipher and KCcmBlockCipher leave unverified plaintext in the output buffer after a
CVE-2026-63567 8.2 HIGH IesEngine block-cipher mode checks padding before MAC (CBC padding oracle)
CVE-2026-15999 8.2 HIGH AES-CCM decryption accepts zero or out-of-range tag length, bypassing authentication
CVE-2026-63575 7.1 HIGH PKCS#12 key derivation loops about 2^32 times on a zero or negative iteration count
CVE-2026-63578 7.1 HIGH Unbounded PBE iteration count when decrypting PKCS#8 private keys

Showing top 20 of 24 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-18036

No comments yet


Leave a comment