Sandor Molnar created KNOX-3383:
-----------------------------------

             Summary: Bump jackson to 2.18.9 due to CVEs
                 Key: KNOX-3383
                 URL: https://issues.apache.org/jira/browse/KNOX-3383
             Project: Apache Knox
          Issue Type: Task
          Components: Server
    Affects Versions: 3.0.0
            Reporter: Sandor Molnar
            Assignee: Sandor Molnar
             Fix For: 3.0.0


The {{jackson}} dependencies have to be upgraded to at least 2.18.9 due to 
multiple CVEs:
{noformat}
[
  {
    "cve_id": "CVE-2026-54512",
    "severity": "HIGH",
    "cvss": 8.1,
    "description": "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, jackson-databind's PolymorphicTypeValidator (PTV) is 
the primary safety mechanism guarding polymorphic deserialization. When 
polymorphic typing is enabled and a type identifier contains generic parameters 
(i.e. the type ID string contains <), 
DatabindContext._resolveAndValidateGeneric() validates only the raw container 
class name (the substring before <) against the configured PTV. If the 
container type is approved, the method parses the full canonical type string 
via TypeFactory.constructFromCanonical() and returns the fully parameterized 
type without ever validating the nested type arguments against the PTV. The 
nested type arguments are then resolved, instantiated, and populated as beans 
during deserialization. An attacker who controls the type ID can therefore 
place a denied class as a generic type parameter of an allowed container — for 
example java.util.ArrayList<com.evil.Gadget> when only java.util.ArrayList is 
allow-listed. The container passes the PTV check; com.evil.Gadget is loaded via 
Class.forName(name, true, loader), instantiated, and its properties are set 
from attacker-controlled JSON. This completely bypasses an explicitly 
configured PTV allow-list. This vulnerability is fixed in 2.18.8, 2.21.4, and 
3.1.4.",
    "published_date": "2026-06-23",
    "package": "jackson-databind",
    "version": "2.18.6",
    "fixed_in": "2.18.8, 2.21.4, 3.1.4",
    "epss_score": null,
    "epss_percentile": null,
    "risk_score": 50,
    "risk_level": "high",
    "jira_key": "",
    "jira_status": "",
    "kev": false
  },
  {
    "cve_id": "CVE-2026-54513",
    "severity": "HIGH",
    "cvss": 8.1,
    "description": "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.",
    "published_date": "2026-06-23",
    "package": "jackson-databind",
    "version": "2.18.6",
    "fixed_in": "2.18.8, 2.21.4, 3.1.4",
    "epss_score": null,
    "epss_percentile": null,
    "risk_score": 50,
    "risk_level": "high",
    "jira_key": "",
    "jira_status": "",
    "kev": false
  },
  {
    "cve_id": "CVE-2026-54514",
    "severity": "MEDIUM",
    "cvss": 5.3,
    "description": "jackson-databind contains the general-purpose data-binding 
functionality and tree-model for Jackson Data Processor. From 2.0.0 until 
2.18.8, 2.21.4, and 3.1.4, JDKFromStringDeserializer constructed 
InetSocketAddress with new InetSocketAddress(host, port), which performs eager 
DNS name resolution for hostname inputs at deserialization time. An application 
that binds untrusted JSON into a type containing an InetSocketAddress field 
issues an attacker-chosen DNS query during readValue, before any 
application-level validation or connect logic. The fix uses 
InetSocketAddress.createUnresolved(host, port), deferring DNS to an explicit 
connect. This vulnerability is fixed in 2.18.8, 2.21.4, and 3.1.4.",
    "published_date": "2026-06-23",
    "package": "jackson-databind",
    "version": "2.18.6",
    "fixed_in": "2.18.8, 2.21.4, 3.1.4",
    "epss_score": null,
    "epss_percentile": null,
    "risk_score": 30,
    "risk_level": "medium",
    "jira_key": "",
    "jira_status": "",
    "kev": false
  },
  {
    "cve_id": "CVE-2026-54515",
    "severity": "MEDIUM",
    "cvss": 5.3,
    "description": "jackson-databind contains the general-purpose data-binding 
functionality and tree-model for Jackson Data Processor. From 2.8.0 until 
2.18.9, 2.21.5, and 3.1.4, in BeanDeserializerBase.createContextual(), 
per-property @JsonIgnoreProperties exclusions are applied by 
_handleByNameInclusion(), producing a contextual deserializer whose 
BeanPropertyMap has the ignored properties removed. The subsequent per-property 
case-insensitivity block (triggered by 
@JsonFormat(ACCEPT_CASE_INSENSITIVE_PROPERTIES)) rebuilds from 
this._beanProperties (the original, unfiltered map) instead of 
contextual._beanProperties, then overwrites the filtered map — restoring every 
property _handleByNameInclusion had just removed. The ignored property becomes 
writable again. This vulnerability is fixed in 2.18.9, 2.21.5, and 3.1.4.",
    "published_date": "2026-06-23",
    "package": "jackson-databind",
    "version": "2.18.6",
    "fixed_in": "2.18.9, 2.21.5, 2.22.1, 3.1.4",
    "epss_score": null,
    "epss_percentile": null,
    "risk_score": 30,
    "risk_level": "medium",
    "jira_key": "",
    "jira_status": "",
    "kev": false
  }
]{noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to