High severity · published Oct 2, 2026
CVE-2026-16001
IesEngine stream-mode MAC forgery via length-dependent KDF split
7.5
CVSS
0.2%
EPSS
No
On KEV
Description
Exposure of the message authentication key through the encryption keystream in the stream mode of IesEngine (an IesEngine constructed without a block cipher) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows a remote attacker who has observed one encrypted message with known plaintext to forge shorter messages of their choosing that the recipient accepts as authentic, via a crafted ciphertext and MAC tag, because the MAC key was taken from the key derivation output directly after a keystream as long as the message, while the derivation input depends only on the static key pair and fixed parameters. The keystream revealed by that one message therefore contains the MAC key for every sufficiently shorter message.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
None
Integrity
High
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 9% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
BC
bc-csharp · Legion of the Bouncy Castle Inc.
before 2.7.0 · source: vendor, NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-16001
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-16001
vendor-advisory
https://github.com/bcgit/bc-csharp/wiki/CVE-2026-16001
patch
https://github.com/bcgit/bc-csharp/commit/f881400b761134160ec2a05fd27c3e569453788d
More from bc-csharp
9.1
CVE-2026-63569
MTI/A0 DHAgreement does not validate the peer's ephemeral value
8.7
CVE-2026-103604
Quadratic-time escaping when converting X.509 distinguished names to strings
8.7
CVE-2026-103603
Unbounded HSS public key level count allows huge array allocation during signature verification
8.7
CVE-2026-103600
Unbounded ASN.1 nesting depth causes process-terminating stack overflow
8.7
CVE-2026-63574
Unbounded allocation from OpenPGP signature and user attribute subpacket lengths
