IT SBIT Services
Schneeberger
DEEN
CVE tracker

bc-csharp: Integrity bypass (forgery) in DSTU 7624 CCM mode without associated data

CVE-2026-16000High 8.7

← All vulnerabilities

Summary

bc-csharp, the C# .NET cryptography library, does not bind the nonce and message length into the authentication tag of the DSTU 7624 CCM mode (KCcmBlockCipher) when no associated data is used. An attacker who can observe encrypted messages and knows or chooses some of their plaintext can create ciphertexts with valid tags that the receiver accepts as authentic. Only applications that construct KCcmBlockCipher directly and supply no associated data are affected. The exposure is probably low for most SMEs, because this algorithm is rarely used.

Affected

  • Legion of the Bouncy Castle Inc. bc-csharp (BC C# .NET) 2.6.2 and earlier
  • BC C# .NET 2.7.0-beta.98 (pre-release)
  • Only applications using KCcmBlockCipher directly without associated data

Fixed in

  • BC C# .NET 2.7.0 and later

Workaround

  • Always supply associated data (a non-empty multiple of the cipher block size) with KCcmBlockCipher. This changes the message format, so sender and receiver must change together.
  • Unknown otherwise: the vendor names no other mitigation.

Exploitation

  • No known exploitation in the wild.
  • No public exploit confirmed at the time of writing.
  • Not listed in CISA KEV.
  • EPSS is low (0.00252).
  • CISA SSVC: exploitation none, automatable yes, technical impact partial.

Our recommendation

  • Inventory .NET applications and NuGet dependencies for BouncyCastle.Cryptography or older BouncyCastle.Crypto builds, and check whether they are below 2.7.0.
  • Search source code for KCcmBlockCipher or DSTU 7624 CCM use. If found, make it a priority.
  • Upgrade to bc-csharp 2.7.0 or later. Note that messages without associated data produced by earlier versions will not verify under 2.7.0, so plan the change with communication partners.
  • For vendor products, ask the vendor for its patch status and whether it uses this class.

Public exploits

PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.

Research sources

Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 06:14.

Original description (NVD)

Missing cryptographic step in the DSTU 7624 CCM mode implementation (KCcmBlockCipher) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows an attacker who can observe encrypted messages of known or chosen content to forge ciphertexts with valid authentication tags, via messages encrypted without associated data. The cause is that the G1 block, which binds the nonce, the message length and the parameter flags into the CBC-MAC, was processed only when associated data was present. Without associated data the tag was a CBC-MAC of the plaintext alone, independent of the nonce. Only applications that use KCcmBlockCipher directly and supply no associated data are affected.

NVD references (2)

Sources

The tracker combines official, freely usable data sources – updated continuously:

This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.

Affected? We can help.

We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.