diff --git a/advisories/github-reviewed/2026/06/GHSA-5jmj-h7xm-6q6v/GHSA-5jmj-h7xm-6q6v.json b/advisories/github-reviewed/2026/06/GHSA-5jmj-h7xm-6q6v/GHSA-5jmj-h7xm-6q6v.json index 7b4ce71ad13ee..636f8425abb41 100644 --- a/advisories/github-reviewed/2026/06/GHSA-5jmj-h7xm-6q6v/GHSA-5jmj-h7xm-6q6v.json +++ b/advisories/github-reviewed/2026/06/GHSA-5jmj-h7xm-6q6v/GHSA-5jmj-h7xm-6q6v.json @@ -1,13 +1,13 @@ { "schema_version": "1.4.0", "id": "GHSA-5jmj-h7xm-6q6v", - "modified": "2026-06-30T21:06:37Z", + "modified": "2026-06-30T21:06:39Z", "published": "2026-06-23T21:23:58Z", "aliases": [ "CVE-2026-54515" ], - "summary": "jackson-databind has case-insensitive deserialization bypasses per-property @JsonIgnoreProperties", - "details": "## Summary\nIn `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.\n\n## Impact\nAn application that both enables case-insensitive matching and relies on per-property `@JsonIgnoreProperties` to keep a field unwritable can have that field set from untrusted JSON (mass-assignment-style write).\n\n## Affected / Patched\nWill be fixed in 2.18.9, 2.21.5, 2.22.1 and 3.1.4.\n\n## Severity / CWE\nMaintainer: minor. Reporter: Moderate. CWE-915.\n\n## Upstream fix\nFasterXML/jackson-databind#5962 (PR #5964, `0e1b0b2`), milestone 3.1.4. Released 2026-06-04.", + "summary": "Case-insensitive deserialization bypasses per-property @JsonIgnoreProperties in jackson-databind", + "details": "## Summary\nIn `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.\n\n## Impact\nAn application that both enables case-insensitive matching and relies on per-property `@JsonIgnoreProperties` to keep a field unwritable can have that field set from untrusted JSON (mass-assignment-style write).\n\n## Affected / Patched\nFixed in 2.18.9, 2.21.5, 2.22.1 and 3.1.4.\n\n## Severity / CWE\nMaintainer: minor. Reporter: Moderate. CWE-915.\n\n## Upstream fix\nFasterXML/jackson-databind#5962 (PR #5964, `0e1b0b2`), milestone 3.1.4. Released 2026-06-04.\n\n## Credits\n", "severity": [ { "type": "CVSS_V3", @@ -15,25 +15,6 @@ } ], "affected": [ - { - "package": { - "ecosystem": "Maven", - "name": "com.fasterxml.jackson.core:jackson-databind" - }, - "ranges": [ - { - "type": "ECOSYSTEM", - "events": [ - { - "introduced": "3.1.0" - } - ] - } - ], - "database_specific": { - "last_known_affected_version_range": "< 3.1.4" - } - }, { "package": { "ecosystem": "Maven", @@ -64,13 +45,13 @@ "events": [ { "introduced": "2.8.0" + }, + { + "fixed": "2.18.9" } ] } - ], - "database_specific": { - "last_known_affected_version_range": "< 2.18.9" - } + ] }, { "package": { @@ -83,13 +64,13 @@ "events": [ { "introduced": "2.19.0" + }, + { + "fixed": "2.21.5" } ] } - ], - "database_specific": { - "last_known_affected_version_range": "< 2.21.5" - } + ] }, { "package": { @@ -102,13 +83,13 @@ "events": [ { "introduced": "2.22.0" + }, + { + "fixed": "2.22.1" } ] } - ], - "database_specific": { - "last_known_affected_version_range": "< 2.22.1" - } + ] } ], "references": [