#1145887 jackson-databind: CVE-2026-54512 CVE-2026-54513 CVE-2026-54514 CVE-2026-54515 CVE-2026-54516 CVE-2026-54517 CVE-2026-54518

Package:
src:jackson-databind
Source:
src:jackson-databind
Submitter:
Salvatore Bonaccorso
Date:
2026-10-15 13:09:07 UTC
Severity:
normal
Tags:
#1145887#5
Date:
2026-08-27 14:24:39 UTC
From:
To:
Hi,

The following vulnerabilities were published for jackson-databind.

CVE-2026-54512[0]:
| 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.


CVE-2026-54513[1]:
| 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.


CVE-2026-54514[2]:
| 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.


CVE-2026-54515[3]:
| 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.


CVE-2026-54516[4]:
| jackson-databind contains the general-purpose data-binding
| functionality and tree-model for Jackson Data Processor. From 2.21.0
| until 2.21.4 and 3.1.4, POJOPropertiesCollector._renameProperties()
| allows a property with @JsonProperty("renamed") on the getter and
| @JsonIgnore on the setter to be renamed rather than dropped. With
| MapperFeature.INFER_PROPERTY_MUTATORS enabled (default), the private
| backing field is retained; during deserialization
| BeanDeserializerFactory.addBeanProps() sees hasField()==true, builds
| a FieldProperty, and makes the backing field writable. An attacker
| supplying the renamed JSON key writes the backing field directly,
| bypassing the @JsonIgnore on the setter. This vulnerability is fixed
| in 3.1.4.


CVE-2026-54517[5]:
| jackson-databind contains the general-purpose data-binding
| functionality and tree-model for Jackson Data Processor. From 2.21.0
| until 2.21.4 and 3.1.4, in
| BeanDeserializer._deserializeUsingPropertyBased, the active-view
| (@JsonView) filter was applied only to creator properties; the
| regular property-buffering branch performed no
| prop.visibleInView(activeView) check. A change making
| SetterlessProperty.isMerging() return true routed setterless
| Collection/Map properties through this unguarded path, so a
| setterless collection annotated with a restricted @JsonView is
| populated from attacker JSON even when the active view excludes it.
| This vulnerability is fixed in 2.21.4 and 3.1.4.


CVE-2026-54518[6]:
| jackson-databind contains the general-purpose data-binding
| functionality and tree-model for Jackson Data Processor. From 2.21.0
| until 2.21.4 and 3.1.4,
| UnwrappedPropertyHandler.processUnwrappedCreatorProperties() replays
| buffered JSON into creator parameters but never consults
| prop.visibleInView(activeView). The normal property-based creator
| path gates creator properties on the active view, but this
| unwrapped-creator replay path bypasses that check, so a constructor
| parameter annotated with both @JsonView(AdminView.class) and
| @JsonUnwrapped is populated from attacker JSON even when a more
| restrictive view is active. This vulnerability is fixed in 2.21.4
| and 3.1.4.


If you fix the vulnerabilities please also make sure to include the
CVE (Common Vulnerabilities & Exposures) ids in your changelog entry.

For further information see:

[0] https://security-tracker.debian.org/tracker/CVE-2026-54512
https://www.cve.org/CVERecord?id=CVE-2026-54512
[1] https://security-tracker.debian.org/tracker/CVE-2026-54513
https://www.cve.org/CVERecord?id=CVE-2026-54513
[2] https://security-tracker.debian.org/tracker/CVE-2026-54514
https://www.cve.org/CVERecord?id=CVE-2026-54514
[3] https://security-tracker.debian.org/tracker/CVE-2026-54515
https://www.cve.org/CVERecord?id=CVE-2026-54515
[4] https://security-tracker.debian.org/tracker/CVE-2026-54516
https://www.cve.org/CVERecord?id=CVE-2026-54516
[5] https://security-tracker.debian.org/tracker/CVE-2026-54517
https://www.cve.org/CVERecord?id=CVE-2026-54517
[6] https://security-tracker.debian.org/tracker/CVE-2026-54518
https://www.cve.org/CVERecord?id=CVE-2026-54518

Regards,
Salvatore

#1145887#10
Date:
2026-10-15 13:07:14 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
jackson-databind, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1145887@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Emmanuel Bourg <ebourg@apache.org> (supplier of updated jackson-databind package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Thu, 15 Oct 2026 09:28:11 +0200
Source: jackson-databind
Architecture: source
Version: 2.18.11-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Changed-By: Emmanuel Bourg <ebourg@apache.org>
Closes: 1145887 1146640 1147507
Changes:
 jackson-databind (2.18.11-1) unstable; urgency=medium
 .
   * Team upload.
   * New upstream release
     - Fixes CVE-2026-54512, CVE-2026-54513, CVE-2026-54514 and CVE-2026-54515
       (Closes: #1145887)
     - Fixes CVE-2026-83557: Comparable was missing from the unsafe base
       types of DefaultBaseTypeLimitingValidator (Closes: #1146640)
     - Fixes CVE-2026-68497: the XML datatype deserializers did not bound
       the length of stringified numbers (Closes: #1147507)
     - Updated the Maven rules
     - Removed the patches, no longer needed
     - Tightened the dependencies on jackson-core and jackson-annotations
   * Converted debian/watch to the version 5 format
Checksums-Sha1:
 ba3831fa45c2dbf1ef1667d067ed5e1ab4603a50 2427 jackson-databind_2.18.11-1.dsc
 4e114dbb08c9b92c162ced5a1d7a84d7633a7bd8 1170644 jackson-databind_2.18.11.orig.tar.xz
 f18d3c14478cad2d79000c1d9b4007e6c259a05d 7804 jackson-databind_2.18.11-1.debian.tar.xz
 dcb098e82e26b554b2e8ead1d8f1c76d573c3cc0 20099 jackson-databind_2.18.11-1_source.buildinfo
Checksums-Sha256:
 0b0c8dc995a1cf78b19a68650dab0f160608f3b420e7d8a9a9ce0a1c8724da23 2427 jackson-databind_2.18.11-1.dsc
 7953119f3ebf50c226fdb8fbe88455b193584ceefb7cd9454ab1a6695d231628 1170644 jackson-databind_2.18.11.orig.tar.xz
 19356d3a80146bc1b19aa6d5a5afa2e6dfb924891253cbf6de22715a54628648 7804 jackson-databind_2.18.11-1.debian.tar.xz
 c4fe24ba350344e2dbfefa6442cc4978884bce9f3f9564790a0e0ab972410eb4 20099 jackson-databind_2.18.11-1_source.buildinfo
Files:
 d514eb00bf94bd721b73ce68c12a6c96 2427 java optional jackson-databind_2.18.11-1.dsc
 057a642aa2a319add0ea4f864e08b321 1170644 java optional jackson-databind_2.18.11.orig.tar.xz
 108ff1d3cc42a393aa75c88aee0e9f2c 7804 java optional jackson-databind_2.18.11-1.debian.tar.xz
 a73e70765d2dbae7d6e1023de3c20547 20099 java optional jackson-databind_2.18.11-1_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQJGBAEBCgAwFiEEuM5N4hCA3PkD4WxA9RPEGeS50KwFAmrQzG4SHGVib3VyZ0Bh
cGFjaGUub3JnAAoJEPUTxBnkudCsDFIQAJTLxLe2bJjhQa0NS/Lj/8LOMzuGXD6x
lPmxacmX3pjqevjiK/SWuE62Q7c0hZnGDNwl2don0V7rLcHmU3R/x5LHcpMC1i6e
6tlmdPuQMgRShionp71/r649DvaCrT9c2cixTEJnwgODsEjR9Qu0+bfEz0LMS0P/
BF9eZ3KathkaPARxWCbeNTBV+6eAd3jE+GjutaAOI5B14Ne03camT3gLADXtecjf
352CVv4lNCMBB1ehzdOq5l43qjYvIiBPf7JY262pBsY17tyuu9nFuPfswowXQNky
15t30OfGrHjsY99VWa3a0CNYNKck1ilKey7UMW/tNEGw7PuW1voshi3UeDC08gO8
Mcujiw56qGHxlhciGjXJ9e7GUOA3QnVrQgorpB1Co4CoBefhQsVOfMg1NLv5nrXS
78Edig/J6NHXi5Q+8xRnBL3eYVXaioIzO2VdadNKmDEAxU3ooBX52MRQ9k31WAhn
CqtYc+TNeH5CPqWL40zaYIuSC02ni2DMmoeee8ewE5jEmyA0jrz14BBOJfP1gLnW
8fOln1h9D6IYUdDXCaOfglKAumlUP+QCcivgLogTtQx7kIooOdjmEFmf5vL0biJA
ZQ8GeY5aIaQneP0d8JPZXkWOuvAxlSfHhK8bI7e+4ssuCLwqlKP4+k4WuOwi2eMj
vL8c01hft3zz
=Ir20
-----END PGP SIGNATURE-----