CVE-2026-103603
Received Received - Intake

Memory Exhaustion in Bouncy Castle HSS/LMS Signature

Vulnerability report for CVE-2026-103603, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-02

Last updated on: 2026-10-02

Assigner: bcorg

Description

Memory allocation with excessive size value in the HSS/LMS signature code (HssPublicKeyParameters, HssSignature) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows a remote unauthenticated attacker who can supply both an HSS public key and a signature to cause a denial of service through memory exhaustion via a public key encoding with an excessive level count, because the level count L read when parsing an HSS public key was not checked against the RFC 8554 maximum of 8, and signature parsing then allocated an array of L - 1 entries before reading any further signature data. A single verification can commit up to about 17 GB of memory or fail with an OutOfMemoryException.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-02
Last Modified
2026-10-02
Generated
2026-10-02
AI Q&A
2026-10-02
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
legion_of_the_bouncy_castle_inc bc-csharp 2.7.0
legion_of_the_bouncy_castle_inc bc_csharp to 2.7.0 (exc)
legion_of_the_bouncy_castle_inc bc_csharp From 2.6.2 (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-789 The product allocates memory based on an untrusted, large size value, but it does not ensure that the size is within expected limits, allowing arbitrary amounts of memory to be allocated.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability involves improper handling of HSS (Hierarchical Signature Scheme) public keys in BC C# .NET versions 2.6.2 and earlier. The library did not enforce the maximum level limit (8) during key decoding, allowing attackers to supply maliciously crafted keys that trigger memory exhaustion. During signature verification, the library allocated an array based on the level count minus one, potentially consuming up to 17 GB of memory or causing an OutOfMemoryException.

Detection Guidance

This vulnerability can be detected by checking the version of the BC C# .NET library in use. If you are running version 2.6.2 or earlier, or the 2.7.0-beta.98 pre-release, your system is vulnerable. Use commands like 'dotnet list package' or inspect project files for the bc-csharp dependency version.

Impact Analysis

An attacker could exploit this to crash server processes by causing memory exhaustion or triggering OutOfMemoryException. This may lead to denial-of-service conditions, disrupting services that rely on the affected BC C# .NET library for signature verification.

Compliance Impact

This vulnerability could impact compliance with GDPR and HIPAA by enabling denial-of-service attacks that disrupt availability of systems handling personal or health data. Memory exhaustion attacks may cause service disruptions, potentially violating availability requirements in GDPR Article 32 and HIPAA Security Rule Β§164.308(a)(7)(i).

Mitigation Strategies

Upgrade to BC C# .NET version 2.7.0 or later, which enforces validation of the HSS level count during key decoding. If upgrading is not immediately possible, validate the level count of decoded HSS public keys before use to ensure it is within the valid range of 1 to 8 as per RFC 8554.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-103603. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart