CVE-2026-54516
jackson-databind's renamed @JsonIgnore'd setters can deserialize via private fields
描述
## Summary `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. ## Impact POJOs 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. ## Affected / Patched (verified via `git tag --contains`) - 2.21 line: `>= 2.21.0, < 2.21.4` -> fixed in **2.21.4** (backport `c3d56dd`, #5968) - 3.x line: `>= 3.0.0, < 3.1.4` -> fixed in **3.1.4** (#5967, `e88cb17`) ## Severity / CWE Maintainer: minor. Reporter: HIGH. CWE-915. ## Credits Omkhar Arasaratnam (@omkhar) - finder.
如何修補 CVE-2026-54516
要修補 CVE-2026-54516,請將受影響套件升級到下列已修補版本。
- —升級至 2.21.4 或更新版本
- —升級至 3.1.4 或更新版本
CVE-2026-54516 正在被利用嗎?
目前沒有被利用訊號。CVE-2026-54516 既不在 CISA KEV 也沒有最新的 EPSS 分數。
受影響套件(2)
- >= 2.21.0, < 2.21.4
- >= 3.0.0, < 3.1.4
CVSS 分數
| 來源 | 版本 | 嚴重程度 | 向量 |
|---|---|---|---|
| osv | CVSS 3.1 | MEDIUM5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |