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

> CVE-2026-18036: NTRU leaks private key information by reducing secret values with a non-constant-time integer division. CVSS 8.2 (CVSS 4.0).

Canonical: https://rewindex.com/cve/CVE-2026-18036
Last updated: 2026-10-02T18:17:03Z

- Published: 2026-10-02 07:54 UTC · Updated: 2026-10-02 18:17 UTC · Assigner: bcorg
- CVSS: 8.2 (CVSS 4.0) · Severity: High
- EPSS: 0.28%, 21th percentile (scored 2026-10-25)
- CISA KEV: no
- CWE: CWE-208

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

## Affected vendors and products

- Legion of the Bouncy Castle Inc.: BC-JAVA

## Tracked companies

- [Jira](https://rewindex.com/company/jira.md)

## References

- [CVE record on cve.org](https://www.cve.org/CVERecord?id=CVE-2026-18036)
- [NVD entry](https://nvd.nist.gov/vuln/detail/CVE-2026-18036)
- [https://github.com/bcgit/bc-java/commit/9c9ad88b6003bb6230d2434bd892cc1e95b294e4](https://github.com/bcgit/bc-java/commit/9c9ad88b6003bb6230d2434bd892cc1e95b294e4)
- [https://github.com/bcgit/bc-java/wiki/CVE%E2%80%902026%E2%80%9018036](https://github.com/bcgit/bc-java/wiki/CVE%E2%80%902026%E2%80%9018036)

---

_Sources: CVE records from the CVE Program (cve.org). CVE® is a registered trademark of The MITRE Corporation. (https://www.cve.org/) This product uses data from the NVD API but is not endorsed or certified by the NVD. (https://nvd.nist.gov/) Known Exploited Vulnerabilities catalog from CISA. (https://www.cisa.gov/known-exploited-vulnerabilities-catalog) EPSS scores from FIRST (Exploit Prediction Scoring System). (https://www.first.org/epss/)_


---
Canonical: https://rewindex.com/cve/CVE-2026-18036 · Markdown: https://rewindex.com/cve/CVE-2026-18036.md · JSON: https://rewindex.com/api/v1/cves/CVE-2026-18036 · Data licensed CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) · Generated 2026-10-26T03:12:31.502Z
