CVE-2026-18036
CVE-2026-18036 is a high-severity vulnerability with a CVSS 4.0 base score of 8.2. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-208.
Key facts
- Severity: High (CVSS 4.0 base score 8.2)
- EPSS exploit prediction: 0% (19th percentile)
- Actively exploited: Not listed in CISA KEV
- Weakness: CWE-208
- Published:
- Last modified:
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.
Frequently asked questions
- What is CVE-2026-18036?
- 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.
- How severe is CVE-2026-18036?
- CVE-2026-18036 has a CVSS 4.0 base score of 8.2, rated high severity.
- Is CVE-2026-18036 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (19th percentile), an estimate of the probability of exploitation in the next 30 days.
- How do I fix CVE-2026-18036?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its high severity, prioritise patching exposed systems.
- When was CVE-2026-18036 published?
- CVE-2026-18036 was published on 2026-10-02.
References
- https://github.com/bcgit/bc-java/commit/9c9ad88b6003bb6230d2434bd892cc1e95b294e4
- https://github.com/bcgit/bc-java/wiki/CVE%E2%80%902026%E2%80%9018036
Other CWE-208 vulnerabilities
- CVE-2026-77987 — Critical (CVSS 9.8): A server-side request forgery (SSRF) vulnerability was identified in the notebook viewer of GitHub Enterprise Server.…
- CVE-2023-41313 — Critical (CVSS 9.8): The authentication method in Apache Doris versions before 2.0.0 was vulnerable to timing attacks. Users are recommended…
- CVE-2026-63132 — Critical (CVSS 9.2): OpenBao is an open source identity-based secrets management system. Prior to 2.6.0, OpenBao's handleLogicalRecovery…
- CVE-2026-16315 — High (CVSS 8.7): OMICRON StationGuard before version 4.10 contains a cryptographic timing side-channel vulnerability in the backend…
- CVE-2024-42512 — High (CVSS 8.6): Vulnerability in the OPC UA .NET Standard Stack before 1.5.374.158 allows an unauthorized attacker to bypass…
- CVE-2026-43606 — High (CVSS 8.5): Observable Timing Discrepancy in the AMD Vitis Libraries ECDSA secp256k1 component could allow attackers with local…