Bug 2545501 (CVE-2026-18040)

Summary: CVE-2026-18040 bouncycastle: bcprov-jdk18on: bouncycastle: Information disclosure via cryptographic side channels in HQC
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security DevOps Team <prodsec-dev>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: anthomas, ant, anujha, aschwart, asoldano, aszczucz, ataylor, bbaranow, bmaxwell, boliveir, bstansbe, cescoffi, csuconic, dbruscin, dlofthou, drichtar, dschmidt, ehelms, ewittman, fmariani, fmongiar, gbenhaim, ggainey, gmalinko, gsmet, gtully, ikhan, istudens, ivassile, iweiss, janstey, jlanda, jmartisk, jnethert, jpasqual, jsherman, juwatts, jwon, kshier, kvanderr, manderse, mcarlett, mdellweg, mhulan, mosmerov, mposolda, msvehla, nipatil, niyer, nmoumoul, nwallace, olubyans, osousa, ozzy, pantinor, pberan, pcreech, pdelbell, pesilva, pjindal, pmackay, rbobbitt, rchan, rgemmell, rgodfrey, rguimara, rkubis, rmartinc, rstancel, rstepani, sbiarozk, sdawley, simaishi, smallamp, ssilvert, stcannon, sthorger, tbish, tcunning, thjenkin, tlavocat, tmalecek, twaugh, varjain, vdosoudi, vmuzikar, yfang, yguenane
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in Bouncy Castle. The Hamming Quasi-Cyclic (HQC) cryptographic algorithm leaks secret data through memory cache access patterns and execution timing variations during key encapsulation and decapsulation operations. A local attacker capable of monitoring cache activity or measuring operation timing could exploit this vulnerability to recover information about the private cryptographic key.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2553497, 2553498, 2553499, 2553500    
Bug Blocks:    

Description OSIDB Bzimport 2026-10-03 09:11:27 UTC
In Bouncy Castle for Java before 1.86, HQC leaked secret-derived data through two side channels: its GF(2^8) arithmetic used lookup tables indexed by field elements, making the cache line touched a function of the operand, and its fixed-weight support sampler left its duplicate scan as soon as a collision was found and stored accepted positions at a secret index. Both run on secret inputs during encapsulation and decapsulation, and the sampler re-expands the secret key from its seed on every decapsulation, so an attacker able to observe cache behaviour or decapsulation timing can recover information about the HQC private key. The field arithmetic is now table-free and the sampler branch-free within a batch of candidates, with output and randomness consumption unchanged.