CVE-2026-18036 Affecting bouncycastle package, versions *


Severity

Recommended
low

Based on default assessment until relevant scores are available.

Threat Intelligence

EPSS
0.28% (19th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-ECHOLATEST-BOUNCYCASTLE-20414102
  • published3 Oct 2026
  • disclosed2 Oct 2026

Introduced: 2 Oct 2026

NewCVE-2026-18036  (opens in a new tab)

How to fix?

There is no fixed version for Echo:latest bouncycastle.

NVD Description

Note: Versions mentioned in the description apply only to the upstream bouncycastle package and not the bouncycastle package as distributed by Echo. See How to fix? for Echo:latest relevant fixed versions and status.

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.