CVSS VectorNVD
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:M/U:Red
Lifecycle Timeline
3DescriptionNVD
Use of a Broken or Risky Cryptographic Algorithm vulnerability in Legion of the Bouncy Castle Inc. BC-JAVA bcprov on all (core modules). This vulnerability is associated with program files G3413CTRBlockCipher.
GOSTCTR implementation unable to process more than 255 blocks correctly.
This issue affects BC-JAVA: from 1.59 before 1.84.
AnalysisAI
GOST CTR block cipher in Bouncy Castle BC-JAVA processes only the first 255 blocks correctly, causing silent data corruption in encryption/decryption operations for longer messages. Affects BC-JAVA versions 1.59 through 1.83, with fix available in version 1.84. Local attack vector (CVSS AV:L) with critical CVSS 9.4 score reflects potential for both confidentiality and integrity compromise when applications process GOST-encrypted data streams exceeding 255 blocks (~4KB). No KEV listing or public
Technical ContextAI
The vulnerability resides in G3413CTRBlockCipher.java, the Bouncy Castle implementation of GOST R 34.13-2015 CTR (Counter) mode encryption. CTR mode transforms a block cipher into a stream cipher by encrypting sequential counter values and XORing the results with plaintext. The implementation contains a counter overflow or boundary condition error that prevents correct processing beyond the 255th block. In GOST block ciphers (64-bit or 128-bit block size), this limits reliable encryption to approximately 4-16KB depending on block size. CWE-327 (Use of Broken/Risky Cryptographic Algorithm) classification reflects that while GOST itself is not inherently broken, this implementation flaw renders it cryptographically unsafe. The CPE identifies the affected library as cpe:2.3:a:legion_of_the_bouncy_castle_inc.:bc-java, a widely-deployed Java cryptographic provider used in enterprise applications, TLS implementations, and secure communication frameworks.
RemediationAI
Upgrade Bouncy Castle BC-JAVA to version 1.84 or later, which contains the fix for the G3413CTRBlockCipher block counter handling. Organizations should audit their dependency trees using tools like Maven Dependency Plugin or Gradle's dependency reports to identify all components using BC-JAVA versions 1.59-1.83. Update the dependency declaration in pom.xml (Maven) or build.gradle (Gradle) to specify org.bouncycastle:bcprov-jdk18on:1.84 or appropriate variant for your JDK version. For systems unable to immediately upgrade, consider temporary workarounds: avoid GOST CTR mode encryption for messages exceeding 255 blocks (implement message segmentation with independent encryption operations per segment), or substitute alternative GOST modes like CBC or GCM if protocol allows. Consult the official advisory at https://github.com/bcgit/bc-java/wiki/CVE-2025-14813 for implementation-specific guidance and verify fixes through regression testing of GOST encryption workflows with multi-kilobyte payloads.
Vendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2025-209467