CVE-2026-103601
Full vulnerability record from the local CVENow database.
Description
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.
Severity
HIGH
CVSS score
8.2
(v4.0)
Vulnerability status
Analyzed
Source identifier
91579145-5d7b-4cc5-b925-a0262ff19630
Published
2026-10-02 08:17:00.527000
Last modified
2026-10-28 14:42:14.603000
View original CVE JSON
{
"id": "CVE-2026-103601",
"sourceIdentifier": "91579145-5d7b-4cc5-b925-a0262ff19630",
"published": "2026-10-02T08:17:00.527",
"lastModified": "2026-10-28T14:42:14.603",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"affected": [
{
"source": "91579145-5d7b-4cc5-b925-a0262ff19630",
"affectedData": [
{
"vendor": "Legion of the Bouncy Castle Inc.",
"product": "bc-csharp",
"defaultStatus": "unaffected",
"collectionURL": "https://www.nuget.org/packages/BouncyCastle.Cryptography",
"packageName": "BouncyCastle.Cryptography",
"programFiles": [
"crypto/src/crypto/modes/CcmBlockCipher.cs",
"crypto/src/crypto/modes/KCcmBlockCipher.cs"
],
"repo": "https://github.com/bcgit/bc-csharp",
"versions": [
{
"version": "0",
"lessThan": "2.7.0",
"versionType": "semver",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV40": [
{
"source": "91579145-5d7b-4cc5-b925-a0262ff19630",
"type": "Secondary",
"cvssData": {
"version": "4.0",
"vectorString": "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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"baseScore": 8.2,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "NONE",
"vulnAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"subAvailabilityImpact": "NONE",
"exploitMaturity": "NOT_DEFINED",
"confidentialityRequirement": "NOT_DEFINED",
"integrityRequirement": "NOT_DEFINED",
"availabilityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"valueDensity": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED"
}
}
],
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Primary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"baseScore": 7.5,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 3.9,
"impactScore": 3.6
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-10-02T17:50:08.465930Z",
"id": "CVE-2026-103601",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "91579145-5d7b-4cc5-b925-a0262ff19630",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-354"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:bouncycastle:bc-csharp:*:*:*:*:*:*:*:*",
"versionEndExcluding": "2.7.0",
"matchCriteriaId": "21A715E8-41BE-47EB-833D-07B9908CCF31"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/bcgit/bc-csharp/commit/4ddb1d0bfeae3a81b18f4446d8cc8a7871bd2d9f",
"source": "91579145-5d7b-4cc5-b925-a0262ff19630",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/bcgit/bc-csharp/commit/e0868323645a063cb2479646e93c1449dc338de5",
"source": "91579145-5d7b-4cc5-b925-a0262ff19630",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/bcgit/bc-csharp/wiki/CVE-2026-103601",
"source": "91579145-5d7b-4cc5-b925-a0262ff19630",
"tags": [
"Patch",
"Vendor Advisory"
]
}
]
}