CVE-2026-59888: jackson-databind: @JsonIgnore on a Record property is bypassed with a PropertyNamingStrategy
For Java Records, POJOPropertiesCollector._removeUnwantedIgnorals() records a @JsonIgnore-annotated component under its original implicit name before _renameUsing() applies the PropertyNamingStrategy. After the rename, _ignoredPropertyNames still holds only the pre-rename name, so _ignorableProps is built from the stale key. The renamed JSON key passes IgnorePropertiesUtil.shouldIgnore() and is assigned to the Record’s constructor parameter, defeating the @JsonIgnore.
References
- github.com/FasterXML/jackson-databind/commit/baa2cdf5ca2b2717fbb88d91955d69d8651df3e4
- github.com/FasterXML/jackson-databind/commit/c7c678360624da5bc7eed2152789fa522880db9d
- github.com/FasterXML/jackson-databind/pull/5974
- github.com/FasterXML/jackson-databind/security/advisories/GHSA-3pjw-73gf-8qr5
- github.com/advisories/GHSA-3pjw-73gf-8qr5
- nvd.nist.gov/vuln/detail/CVE-2026-59888
Code Behaviors & Features
Detect and mitigate CVE-2026-59888 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →