In Bouncy Castle for Java before 1.85, KCCMBlockCipher MAC does not bind nonce when AAD is absent (cross-nonce AEAD forgery). This issue also affects Bouncy Castle for Java LTS before 2.73.12.
{
"cna_assigner": "bcorg",
"cwe_ids": [
"CWE-354"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/12xxx/CVE-2026-12803.json"
}{
"cpe": "cpe:2.3:a:bouncycastle:bc-java:*:*:*:*:*:*:*:*",
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "1.85"
}
],
"source": [
"CPE_RANGE",
"REFERENCES"
]
}
{
"cpe": "cpe:2.3:a:bouncycastle:bouncy_castle_for_java_lts:*:*:*:*:*:*:*:*",
"extracted_events": [
{
"introduced": "2.73.0"
},
{
"fixed": "2.73.12"
},
{
"introduced": "0"
},
{
"last_affected": "2.73.11"
}
],
"source": [
"AFFECTED_FIELD",
"CPE_RANGE"
]
}
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-12803.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "7859619620194799728679201341619350374",
"length": 1338
},
"id": "CVE-2026-12803-23690617",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/bcgit/bc-java/commit/697794413ebf7bc5e3fce609a707826ba52981af",
"target": {
"file": "core/src/main/java/org/bouncycastle/crypto/modes/KCCMBlockCipher.java",
"function": "processAAD"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "330085538170321426461012785600519507132",
"length": 1402
},
"id": "CVE-2026-12803-27bc2d79",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/bcgit/bc-java/commit/7d79aa76e984da85f2a541cae8ba2ae56e1713bc",
"target": {
"file": "core/src/main/java/org/bouncycastle/crypto/modes/KCCMBlockCipher.java",
"function": "processAAD"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "340073630505974547917171180437211506149",
"length": 2065
},
"id": "CVE-2026-12803-2f11a1f4",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/bcgit/bc-java/commit/697794413ebf7bc5e3fce609a707826ba52981af",
"target": {
"file": "core/src/main/java/org/bouncycastle/crypto/modes/KCCMBlockCipher.java",
"function": "processPacket"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"13241190153418575115211978528953783071",
"68773123159912188478289956958372014665",
"322200301024387533841575228653024502111",
"217107377075537363414838838465613957749",
"185475881173156544269873647740793641214",
"112282028145144829271635793220694313235",
"55786641628166949157166300556499813953"
],
"threshold": 0.9
},
"id": "CVE-2026-12803-30871725",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/bcgit/bc-java/commit/697794413ebf7bc5e3fce609a707826ba52981af",
"target": {
"file": "core/src/test/java/org/bouncycastle/crypto/test/DSTU7624Test.java"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"134065995780806424909892687165476904093",
"32379593275394507583303084739714139578",
"182738848983206920801789042714789844374",
"118398943054389193871715295210865746096",
"185114929898326706304851151479918525530",
"61934423629945873161489042519064268954",
"192971688609491774569621224453823700652",
"177260572292465906947293309369155931873",
"185704606458653778969748534924673207144",
"50928869830128127230614395721960165771",
"97731694455897932065456692722602612637",
"108663769404296603634055449591317907553",
"271635530767887488951777148569267939355",
"138521971876497224070918519187332124313",
"57209399261966929721656171505350369018",
"258238453942738471281420413302517784075",
"115362414568935068296400945029314794447",
"159479292776671047309768922578181921431",
"227186833754185580460734264402319794366",
"239400527084153752947892546231602208488",
"273996267689075301819858822030501829809",
"137764210953160106973012550051619786368",
"83462947891561411463727252308985034805",
"108855361061543393530517512246089083837",
"305053876678009319800856980762828217413",
"117066315017656844240980038846805238114",
"84106999172087769017193892660703807744",
"173318187833711217880871984916318727095",
"35455915494246756315911845761436892533",
"204387226889934701713969120195799771215",
"76691272726369834699012125709311378262",
"96488066762290290612443472085759584766",
"212303918315916382719058872897120874130",
"172370097181599727781017833681233237399",
"161806472433386896690156433665261460332",
"90769188276701654946286290780755564275",
"161745722518375484086169922352438162397",
"135351706069212554805681516580614204205",
"141237298968300724764502503401688499551",
"258187989350374820795573964039784656828",
"169989027711387553775515038918047802281",
"252288185339127650541760491092180695283",
"314769318678252706128544630536417110584",
"326049469849102048742983249739736613982",
"298076952130981952007689161439645394714",
"177721513311122820690794210071921301952",
"110303873626780920422807307071198535551"
],
"threshold": 0.9
},
"id": "CVE-2026-12803-3859277f",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/bcgit/bc-java/commit/7d79aa76e984da85f2a541cae8ba2ae56e1713bc",
"target": {
"file": "core/src/main/java/org/bouncycastle/crypto/modes/KCCMBlockCipher.java"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "297656122035220508493498791125555284103",
"length": 2020
},
"id": "CVE-2026-12803-53632105",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/bcgit/bc-java/commit/7d79aa76e984da85f2a541cae8ba2ae56e1713bc",
"target": {
"file": "core/src/main/java/org/bouncycastle/crypto/modes/KCCMBlockCipher.java",
"function": "processPacket"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"42240489653950381934032209227141434017",
"245170400522677146236471551282861367304",
"177260572292465906947293309369155931873",
"185704606458653778969748534924673207144",
"50928869830128127230614395721960165771",
"97731694455897932065456692722602612637",
"108663769404296603634055449591317907553",
"271635530767887488951777148569267939355",
"65119549841461085587401391618519727752",
"330422303916418049487002662006002178847",
"115362414568935068296400945029314794447",
"271351299706311998412932683087427870307",
"132078883961531287791125947789887084777",
"35375886831783577338721256650660699741",
"222384511592906643331789783917592823577",
"273568100553173927308028480153580088270",
"167171198815327314203091045749921184773",
"282238348274434270246463019517309926347",
"21588009919760550339996109834142185385",
"312652500035829628477688336813764161329",
"96495454684605035537376219155202953171",
"258187989350374820795573964039784656828",
"169989027711387553775515038918047802281",
"252288185339127650541760491092180695283",
"314769318678252706128544630536417110584",
"326049469849102048742983249739736613982",
"299221706444318657026161744141353190063",
"314722658510485067924193102512373963258",
"126533310546340192593651973169586447811"
],
"threshold": 0.9
},
"id": "CVE-2026-12803-8ad0bf64",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/bcgit/bc-java/commit/697794413ebf7bc5e3fce609a707826ba52981af",
"target": {
"file": "core/src/main/java/org/bouncycastle/crypto/modes/KCCMBlockCipher.java"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "46708911799259429366893574521313576237",
"length": 8161
},
"id": "CVE-2026-12803-9cc10f1e",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/bcgit/bc-java/commit/697794413ebf7bc5e3fce609a707826ba52981af",
"target": {
"file": "core/src/test/java/org/bouncycastle/crypto/test/DSTU7624Test.java",
"function": "CCMModeTests"
}
}
]
"2026-09-04T08:11:48Z"