{"items":[{"id":"NVI-00016082","kind":"vulnerability","title":"jackson-databind's renamed @JsonIgnore'd setters can deserialize via private fields","revision":2,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected.","NVD lastModified does not establish freshness of every associated CPE record."],"lifecycle":"active","identifiers":["GHSA-9fxm-vc8v-hj55","CVE-2026-54516"],"plain_summary":"GitHub lists this reviewed advisory for com.fasterxml.jackson.core:jackson-databind, com.fasterxml.jackson.core:jackson-databind, tools.jackson.core:jackson-databind. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-5b0de8df570a7245356e75f861f11622"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-07-20T21:21:25.000Z","value":"5.3 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-1a5c6437430ad3e2aaf4f440fe14ee76"},{"kind":"CVSS","as_of":"2026-10-25T23:10:00.167Z","value":"5.3 MEDIUM (3.1)","meaning":"security-advisories@github.com severity; no combined Null risk score.","source_id":"sr-5b0de8df570a7245356e75f861f11622"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-1a5c6437430ad3e2aaf4f440fe14ee76","url":"https://github.com/advisories/GHSA-9fxm-vc8v-hj55","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-9fxm-vc8v-hj55","publisher":"GitHub Advisory Database","observed_at":"2026-11-04T02:47:44.783Z"},{"id":"sr-5b0de8df570a7245356e75f861f11622","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-54516","basis":"official_catalog","notes":"This product uses data from the NVD API but is not endorsed or certified by the NVD.","title":"CVE-2026-54516","publisher":"NIST National Vulnerability Database","observed_at":"2026-11-08T01:48:19.229Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-1a5c6437430ad3e2aaf4f440fe14ee76"],"technology":"com.fasterxml.jackson.core:jackson-databind","known_exclusions":[],"conditions_summary":"## Summary\n`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.\n\n## Impact\nPOJOs combining a renamed getter with an ignored setter (a read-only-over-the-wire pattern) have that field silently set from attacker input (property tampering / mass assignment). Not a general gadget; no RCE.\n\n## Affected / Patched (verified via `git tag --contains`)\n- 2.21 line: `>= 2.21.0,  fixed in **2.21.4** (backport `c3d56dd`, #5968)\n- 3.x line: `>= 3.0.0,  fixed in **3.1.4** (#5967, `e88cb17`)\n\n## Severity / CWE\nMaintainer: minor. Reporter: HIGH. CWE-915.\n\n## Credits\nOmkhar Arasaratnam (@omkhar) - finder.","public_affected_ranges":[">= 2.21.0, < 2.21.4"]},{"certainty":"source_listed","source_ids":["sr-1a5c6437430ad3e2aaf4f440fe14ee76"],"technology":"com.fasterxml.jackson.core:jackson-databind","known_exclusions":[],"conditions_summary":"## Summary\n`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.\n\n## Impact\nPOJOs combining a renamed getter with an ignored setter (a read-only-over-the-wire pattern) have that field silently set from attacker input (property tampering / mass assignment). Not a general gadget; no RCE.\n\n## Affected / Patched (verified via `git tag --contains`)\n- 2.21 line: `>= 2.21.0,  fixed in **2.21.4** (backport `c3d56dd`, #5968)\n- 3.x line: `>= 3.0.0,  fixed in **3.1.4** (#5967, `e88cb17`)\n\n## Severity / CWE\nMaintainer: minor. Reporter: HIGH. CWE-915.\n\n## Credits\nOmkhar Arasaratnam (@omkhar) - finder.","public_affected_ranges":[">= 3.0.0, < 3.1.4"]},{"certainty":"source_listed","source_ids":["sr-1a5c6437430ad3e2aaf4f440fe14ee76"],"technology":"tools.jackson.core:jackson-databind","known_exclusions":[],"conditions_summary":"## Summary\n`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.\n\n## Impact\nPOJOs combining a renamed getter with an ignored setter (a read-only-over-the-wire pattern) have that field silently set from attacker input (property tampering / mass assignment). Not a general gadget; no RCE.\n\n## Affected / Patched (verified via `git tag --contains`)\n- 2.21 line: `>= 2.21.0,  fixed in **2.21.4** (backport `c3d56dd`, #5968)\n- 3.x line: `>= 3.0.0,  fixed in **3.1.4** (#5967, `e88cb17`)\n\n## Severity / CWE\nMaintainer: minor. Reporter: HIGH. CWE-915.\n\n## Credits\nOmkhar Arasaratnam (@omkhar) - finder.","public_affected_ranges":[">= 3.0.0, < 3.1.4"]}],"null_published_at":"2026-11-08T19:53:44.060Z","source_updated_at":"2026-07-20T21:21:25.000Z","source_disclosed_at":"2026-06-23T21:24:26.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Source facts changed; compare the preserved prior revision.","null_first_observed_at":"2026-11-04T02:47:44.783Z"},{"id":"NVI-00016082","kind":"vulnerability","title":"jackson-databind's renamed @JsonIgnore'd setters can deserialize via private fields","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-9fxm-vc8v-hj55","CVE-2026-54516"],"plain_summary":"GitHub lists this reviewed advisory for com.fasterxml.jackson.core:jackson-databind, com.fasterxml.jackson.core:jackson-databind, tools.jackson.core:jackson-databind. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-1a5c6437430ad3e2aaf4f440fe14ee76"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-07-20T21:21:25.000Z","value":"5.3 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-1a5c6437430ad3e2aaf4f440fe14ee76"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-1a5c6437430ad3e2aaf4f440fe14ee76","url":"https://github.com/advisories/GHSA-9fxm-vc8v-hj55","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-9fxm-vc8v-hj55","publisher":"GitHub Advisory Database","observed_at":"2026-11-04T02:47:44.783Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-1a5c6437430ad3e2aaf4f440fe14ee76"],"technology":"com.fasterxml.jackson.core:jackson-databind","known_exclusions":[],"conditions_summary":"## Summary\n`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.\n\n## Impact\nPOJOs combining a renamed getter with an ignored setter (a read-only-over-the-wire pattern) have that field silently set from attacker input (property tampering / mass assignment). Not a general gadget; no RCE.\n\n## Affected / Patched (verified via `git tag --contains`)\n- 2.21 line: `>= 2.21.0,  fixed in **2.21.4** (backport `c3d56dd`, #5968)\n- 3.x line: `>= 3.0.0,  fixed in **3.1.4** (#5967, `e88cb17`)\n\n## Severity / CWE\nMaintainer: minor. Reporter: HIGH. CWE-915.\n\n## Credits\nOmkhar Arasaratnam (@omkhar) - finder.","public_affected_ranges":[">= 2.21.0, < 2.21.4"]},{"certainty":"source_listed","source_ids":["sr-1a5c6437430ad3e2aaf4f440fe14ee76"],"technology":"com.fasterxml.jackson.core:jackson-databind","known_exclusions":[],"conditions_summary":"## Summary\n`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.\n\n## Impact\nPOJOs combining a renamed getter with an ignored setter (a read-only-over-the-wire pattern) have that field silently set from attacker input (property tampering / mass assignment). Not a general gadget; no RCE.\n\n## Affected / Patched (verified via `git tag --contains`)\n- 2.21 line: `>= 2.21.0,  fixed in **2.21.4** (backport `c3d56dd`, #5968)\n- 3.x line: `>= 3.0.0,  fixed in **3.1.4** (#5967, `e88cb17`)\n\n## Severity / CWE\nMaintainer: minor. Reporter: HIGH. CWE-915.\n\n## Credits\nOmkhar Arasaratnam (@omkhar) - finder.","public_affected_ranges":[">= 3.0.0, < 3.1.4"]},{"certainty":"source_listed","source_ids":["sr-1a5c6437430ad3e2aaf4f440fe14ee76"],"technology":"tools.jackson.core:jackson-databind","known_exclusions":[],"conditions_summary":"## Summary\n`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.\n\n## Impact\nPOJOs combining a renamed getter with an ignored setter (a read-only-over-the-wire pattern) have that field silently set from attacker input (property tampering / mass assignment). Not a general gadget; no RCE.\n\n## Affected / Patched (verified via `git tag --contains`)\n- 2.21 line: `>= 2.21.0,  fixed in **2.21.4** (backport `c3d56dd`, #5968)\n- 3.x line: `>= 3.0.0,  fixed in **3.1.4** (#5967, `e88cb17`)\n\n## Severity / CWE\nMaintainer: minor. Reporter: HIGH. CWE-915.\n\n## Credits\nOmkhar Arasaratnam (@omkhar) - finder.","public_affected_ranges":[">= 3.0.0, < 3.1.4"]}],"null_published_at":"2026-11-04T10:04:27.881Z","source_updated_at":"2026-07-20T21:21:25.000Z","source_disclosed_at":"2026-06-23T21:24:26.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-04T02:47:44.783Z"}],"next_cursor":null,"snapshot_revision":"42594"}