{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "extracted_events": [
              {
                "introduced": "0"
              },
              {
                "fixed": "2.7.0"
              }
            ],
            "source": [
              "DESCRIPTION",
              "REFERENCES"
            ]
          },
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "4007498b13582d90ee1eda5d9920c324428b98b3"
            },
            {
              "fixed": "4ddb1d0bfeae3a81b18f4446d8cc8a7871bd2d9f"
            },
            {
              "fixed": "e0868323645a063cb2479646e93c1449dc338de5"
            }
          ],
          "repo": "https://github.com/bcgit/bc-csharp",
          "type": "GIT"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "bcorg",
    "cwe_ids": [
      "CWE-354"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/103xxx/CVE-2026-103601.json"
  },
  "details": "Release of unverified plaintext in the CCM (CcmBlockCipher) and DSTU 7624 CCM (KCcmBlockCipher) AEAD modes in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows a remote attacker to obtain decryptions of ciphertexts of their choosing via forged messages sent to an application that lets the output buffer of a failed decryption be observed, for example through buffer reuse or logging, because decryption wrote the recovered plaintext into the caller-supplied output buffer before checking the authentication tag and left it there when the check failed. Only decryption into a caller-supplied buffer is affected; methods that return a newly allocated array are not.",
  "id": "CVE-2026-103601",
  "modified": "2026-10-04T02:30:33.111574224Z",
  "published": "2026-10-02T07:09:17.064Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://www.nuget.org/packages/BouncyCastle.Cryptography"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/103xxx/CVE-2026-103601.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/bcgit/bc-csharp/wiki/CVE-2026-103601"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-103601"
    },
    {
      "type": "FIX",
      "url": "https://github.com/bcgit/bc-csharp/commit/4ddb1d0bfeae3a81b18f4446d8cc8a7871bd2d9f"
    },
    {
      "type": "FIX",
      "url": "https://github.com/bcgit/bc-csharp/commit/e0868323645a063cb2479646e93c1449dc338de5"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/bcgit/bc-csharp"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N",
      "type": "CVSS_V4"
    }
  ],
  "summary": "CcmBlockCipher and KCcmBlockCipher leave unverified plaintext in the output buffer after a failed tag check"
}