jackson-databind contains the general-purpose data-binding functionality and tree-model for Jackson Data Processor. From 2.10.0 until 2.18.8, 2.21.4, and 3.1.4, BasicPolymorphicTypeValidator.Builder.allowIfSubTypeIsArray() allowlists any array type based only on clazz.isArray(), without validating the array's component (element) type against the configured allowlist. A PTV built with allowIfSubTypeIsArray() plus an explicit concrete-type allowlist therefore still permits EvilType[] even though EvilType is not allowlisted. When Jackson deserializes the elements and no per-element type IDs are present, it instantiates the component type directly with no further PTV check, bypassing the allowlist. This vulnerability is fixed in 2.18.8, 2.21.4, and 3.1.4.
{
"cwe_ids": [
"CWE-184"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54513.json"
}{
"cpe": "cpe:2.3:a:fasterxml:jackson-databind:*:*:*:*:*:*:*:*",
"extracted_events": [
{
"introduced": "2.10.0"
},
{
"fixed": "2.18.8"
},
{
"introduced": "2.19.0"
},
{
"fixed": "2.21.4"
},
{
"introduced": "3.0.0"
},
{
"fixed": "3.1.4"
}
],
"source": [
"CPE_RANGE",
"REFERENCES"
]
}"2026-07-24T08:01:13Z"
[
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 175.0,
"function_hash": "248972036414687396055322000765373650039"
},
"signature_version": "v1",
"source": "https://github.com/fasterxml/jackson-databind/commit/24529da29fdf46ff94ca38de9ebf31cd188f5e8e",
"id": "CVE-2026-54513-496cc382",
"target": {
"function": "allowIfSubTypeIsArray",
"file": "src/main/java/tools/jackson/databind/jsontype/BasicPolymorphicTypeValidator.java"
}
},
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"222215740526239670890085528756438738476",
"331295683154341241710347518365063774713",
"308784427221242271214883173873242602113",
"286005296642661651573924881594540503877",
"52306734999155809351700230008238141121",
"7717806449009989375406862764686975413",
"337380183345182492182004069093334076142",
"219234520932058309156763209852731523097",
"289859187067076519920256762480453639556",
"223442965775651307273058716989534464532",
"20642817604511906644384966996141132886",
"17082743701711854939180623376945802125",
"186472944678391693417335342053955183487",
"175637255300502824706367093259756863769",
"325694705429310997539917568464694543958",
"7113080116449884024418468646178333935",
"168030344669334103713087741826229750202",
"113633566319938967783367531899542729471",
"263695080421886459886540643611423279623",
"68722282626767908683495593139615605191",
"332337986067972162882079784941397482537",
"156516254727550566570175724482739626532",
"243079986969890431297821406565534853089",
"241596089959942130995542634157203192638",
"79144889035049365096060890953572074326",
"328652041900857598718612637125682420521",
"336505484416621083516861007302983820242",
"329200403928959141836822019326826617998",
"223215416715146286887892452721560251192",
"172494011110432854100072220923882314103",
"154322532942066725329718377513713106982",
"201807181764638010124683684072626271224",
"292949127103408528864473335493290325647",
"273717542131142875851275124578696502219",
"319249942997354713258688939934278933196",
"257265378816997228955455844569879170",
"39960419926522273401940405633852594899",
"55570651807088303111379872983522009202"
]
},
"signature_version": "v1",
"source": "https://github.com/fasterxml/jackson-databind/commit/24529da29fdf46ff94ca38de9ebf31cd188f5e8e",
"id": "CVE-2026-54513-6e693f5b",
"target": {
"file": "src/main/java/tools/jackson/databind/jsontype/BasicPolymorphicTypeValidator.java"
}
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 78.0,
"function_hash": "1929955398536373805100777210583298525"
},
"signature_version": "v1",
"source": "https://github.com/fasterxml/jackson-databind/commit/01d1692c8d0ed03e51a0e3c4f8a9e6908e4931e5",
"id": "CVE-2026-54513-7096732d",
"target": {
"function": "match",
"file": "src/main/java/com/fasterxml/jackson/databind/jsontype/BasicPolymorphicTypeValidator.java"
}
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 180.0,
"function_hash": "224021050390728249120098062137549555749"
},
"signature_version": "v1",
"source": "https://github.com/fasterxml/jackson-databind/commit/01d1692c8d0ed03e51a0e3c4f8a9e6908e4931e5",
"id": "CVE-2026-54513-83661af6",
"target": {
"function": "allowIfSubTypeIsArray",
"file": "src/main/java/com/fasterxml/jackson/databind/jsontype/BasicPolymorphicTypeValidator.java"
}
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 304.0,
"function_hash": "96746149866221518538181062838651343131"
},
"signature_version": "v1",
"source": "https://github.com/fasterxml/jackson-databind/commit/01d1692c8d0ed03e51a0e3c4f8a9e6908e4931e5",
"id": "CVE-2026-54513-85952890",
"target": {
"function": "validateSubType",
"file": "src/main/java/com/fasterxml/jackson/databind/jsontype/BasicPolymorphicTypeValidator.java"
}
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 356.0,
"function_hash": "238017751914883436877789925871765643875"
},
"signature_version": "v1",
"source": "https://github.com/fasterxml/jackson-databind/commit/01d1692c8d0ed03e51a0e3c4f8a9e6908e4931e5",
"id": "CVE-2026-54513-ad33b491",
"target": {
"function": "build",
"file": "src/main/java/com/fasterxml/jackson/databind/jsontype/BasicPolymorphicTypeValidator.java"
}
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 276.0,
"function_hash": "267268652595347189837908975613484972954"
},
"signature_version": "v1",
"source": "https://github.com/fasterxml/jackson-databind/commit/24529da29fdf46ff94ca38de9ebf31cd188f5e8e",
"id": "CVE-2026-54513-b105aa14",
"target": {
"function": "validateSubType",
"file": "src/main/java/tools/jackson/databind/jsontype/BasicPolymorphicTypeValidator.java"
}
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 185.0,
"function_hash": "118988210987672080680194997427056694547"
},
"signature_version": "v1",
"source": "https://github.com/fasterxml/jackson-databind/commit/01d1692c8d0ed03e51a0e3c4f8a9e6908e4931e5",
"id": "CVE-2026-54513-b29276ee",
"target": {
"function": "BasicPolymorphicTypeValidator",
"file": "src/main/java/com/fasterxml/jackson/databind/jsontype/BasicPolymorphicTypeValidator.java"
}
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 185.0,
"function_hash": "118988210987672080680194997427056694547"
},
"signature_version": "v1",
"source": "https://github.com/fasterxml/jackson-databind/commit/24529da29fdf46ff94ca38de9ebf31cd188f5e8e",
"id": "CVE-2026-54513-cc3e2093",
"target": {
"function": "BasicPolymorphicTypeValidator",
"file": "src/main/java/tools/jackson/databind/jsontype/BasicPolymorphicTypeValidator.java"
}
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 356.0,
"function_hash": "238017751914883436877789925871765643875"
},
"signature_version": "v1",
"source": "https://github.com/fasterxml/jackson-databind/commit/24529da29fdf46ff94ca38de9ebf31cd188f5e8e",
"id": "CVE-2026-54513-d0f20a16",
"target": {
"function": "build",
"file": "src/main/java/tools/jackson/databind/jsontype/BasicPolymorphicTypeValidator.java"
}
},
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"48310970054272332933605026324965339861",
"183789564208877505709578669530358305100",
"19157562644835592993914264011508579105",
"236434514890418416852293894250334320786",
"52306734999155809351700230008238141121",
"7717806449009989375406862764686975413",
"337380183345182492182004069093334076142",
"289859187067076519920256762480453639556",
"223442965775651307273058716989534464532",
"20642817604511906644384966996141132886",
"62686194757718263181701814773168035248",
"59196816312455379313485730363022490532",
"303763001037767533693143845751608645908",
"87520529005505984690361538587849280772",
"7113080116449884024418468646178333935",
"167675610096949671236877816489850037596",
"225835755253815487940598454990651564806",
"263695080421886459886540643611423279623",
"68722282626767908683495593139615605191",
"332337986067972162882079784941397482537",
"156516254727550566570175724482739626532",
"243079986969890431297821406565534853089",
"241596089959942130995542634157203192638",
"79144889035049365096060890953572074326",
"328652041900857598718612637125682420521",
"336505484416621083516861007302983820242",
"329200403928959141836822019326826617998",
"223215416715146286887892452721560251192",
"172494011110432854100072220923882314103",
"154322532942066725329718377513713106982",
"201807181764638010124683684072626271224",
"70001397735422217569834951277175686656",
"333177176893441918071103409245441627850",
"257265378816997228955455844569879170",
"39960419926522273401940405633852594899",
"55570651807088303111379872983522009202"
]
},
"signature_version": "v1",
"source": "https://github.com/fasterxml/jackson-databind/commit/01d1692c8d0ed03e51a0e3c4f8a9e6908e4931e5",
"id": "CVE-2026-54513-d6a20634",
"target": {
"file": "src/main/java/com/fasterxml/jackson/databind/jsontype/BasicPolymorphicTypeValidator.java"
}
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 78.0,
"function_hash": "1929955398536373805100777210583298525"
},
"signature_version": "v1",
"source": "https://github.com/fasterxml/jackson-databind/commit/24529da29fdf46ff94ca38de9ebf31cd188f5e8e",
"id": "CVE-2026-54513-e413075e",
"target": {
"function": "match",
"file": "src/main/java/tools/jackson/databind/jsontype/BasicPolymorphicTypeValidator.java"
}
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54513.json"