Legion of the Bouncy Castle bc-csharp: Freigabe von nicht verifiziertem Klartext bei CCM-Entschlüsselung
Zusammenfassung
Die CCM- und DSTU-7624-CCM-AEAD-Modi (CcmBlockCipher und KCcmBlockCipher) in bc-csharp schreiben den entschlüsselten Klartext in den vom Aufrufer bereitgestellten Ausgabepuffer, bevor der Authentifizierungs-Tag geprüft wird. Schlägt die Prüfung fehl, bleibt der nicht verifizierte Klartext im Puffer zurück. Ein Angreifer, der manipulierte Chiffretexte senden und diesen Puffer beobachten kann, etwa durch Wiederverwendung des Puffers, Logging oder eine Fehlerantwort, kann Entschlüsselungen gewählter Chiffretexte erhalten, ohne einen gültigen Schlüssel zu besitzen. Nur die Entschlüsselung in vom Aufrufer bereitgestellte Puffer ist betroffen; Methoden, die ein neu allokiertes Array zurückgeben, sind nicht betroffen.
Betroffen
- bc-csharp 0 bis vor 2.7.0
- Laut Hersteller-Wiki: BC C# .NET 2.6.2 und älter sowie das Vorabversion 2.7.0-beta.98
- Plattform: alle CLRs
Behoben in
- bc-csharp 2.7.0 und neuer
- Fix-Commits: e0868323645a063cb2479646e93c1449dc338de5 (CcmBlockCipher) und 4ddb1d0bfeae3a81b18f4446d8cc8a7871bd2d9f (KCcmBlockCipher)
Umgehung
- CCM- und KCCM-Nachrichten nur in einen Puffer entschlüsseln, der ausschliesslich für diesen Vorgang verwendet wird.
- Nach einer InvalidCipherTextException den Puffer (zum Beispiel mit Array.Clear) leeren, bevor er wiederverwendet, protokolliert oder zurückgegeben wird.
- Überladungen verwenden, die ein neu allokiertes Array zurückgeben, etwa ProcessPacket(byte[], int, int) und die IBufferedCipher-DoFinal-Überladungen mit Rückgabe eines neuen Arrays.
- Diese Massnahmen reduzieren die Exposition, ersetzen aber nicht das Update.
Ausnutzung
- CISA SSVC: Exploitation none, Automatable no, Technical Impact partial.
- Keine Hinweise auf Ausnutzung in freier Wildbahn oder Eintrag im KEV-Katalog gefunden.
- Kein öffentlicher Proof of Concept in der Recherche gefunden; dies ist kein Beweis für dessen Fehlen.
- EPSS: 0.00286.
Unsere Empfehlung
- .NET-Anwendungen und Abhängigkeiten (zum Beispiel NuGet-Pakete) mit bc-csharp inventarisieren.
- bc-csharp auf Version 2.7.0 oder neuer aktualisieren und allfällige 2.7.0-Beta-Builds anhand der Fix-Commits prüfen.
- Bei Softwareherstellern nachfragen, ob ihre Produkte bc-csharp vor 2.7.0 einbetten und wann sie es beheben.
- Bis zur Behebung Ausgabepuffer nach fehlgeschlagenen Entschlüsselungen leeren und die Protokollierung von Entschlüsselungsausgaben prüfen.
- Aus dem Internet erreichbare Anwendungen, die nicht vertrauenswürdige Nachrichten entschlüsseln, priorisieren.
Öffentliche Exploits
In PoC-in-GitHub, Metasploit und Exploit-DB ist für diese CVE nichts verzeichnet.
Quellen der Recherche
- Vendor advisory: CVE-2026-103601 (bc-csharp wiki) github.com
- Fix commit: CcmBlockCipher tag verification github.com
- Fix commit: KCcmBlockCipher plaintext clearing github.com
- Bouncy Castle C# download and release notes www.bouncycastle.org
- NVD / Vulners record CVE-2026-103601 vulners.com
- OSV record CVE-2026-103601 osv.dev
Recherchiert und auf Deutsch und Englisch aufbereitet von einer KI (Claude von Anthropic) auf Basis von NVD, CISA, EPSS und den genannten Quellen. Massgebend sind die Angaben des Herstellers. Recherche vom 01.11.2026 17:32.
Quellen
Der Tracker verbindet offizielle, frei nutzbare Datenquellen – laufend aktualisiert:
- NVD (NIST) – CVE, Bewertung (CVSS), betroffene Produkte
- CISA KEV – von der CISA bestätigt aktiv ausgenutzte Lücken
- CISA Vulnrichment – Einschätzung der CISA (SSVC) im offiziellen CVE-Eintrag
- FIRST EPSS – Wahrscheinlichkeit einer Ausnutzung
- Microsoft MSRC – Patch Tuesday: Lücken, Schweregrad, Updates
- PoC-in-GitHub – öffentliche Proof-of-Concept-Repositories
- Metasploit (Rapid7) – Module des Metasploit Framework
- Exploit-DB (OffSec) – Archiv öffentlicher Exploits (nur Verweise)
- Patch-Tage: offizielle Seiten der Hersteller (je Hersteller verlinkt) (Patch-Tage der Hersteller)
Dieses Angebot nutzt Daten der NVD-API, ist aber von der NVD weder unterstützt noch zertifiziert. EPSS-Daten © FIRST.org.
Betroffen? Wir helfen.
Wir prüfen, ob Ihre Systeme betroffen sind, spielen Updates ein und schliessen die Lücke – auf Wunsch auch laufend mit dem System Health Checker.
