jackson-databind содержит универсальные функции привязки данных и древовидную модель для процессора данных Jackson Data Processor. С 2.21.0 по 2.21.4 и 3.1.4 в BeanDeserializer._deserializeUsingPropertyBased фильтр активного просмотра (@JsonView) применялся только к свойствам создателя; обычная ветвь буферизации свойств не выполняла проверку prop.visibleInView(activeView). Изменение, благодаря которому SetterlessProperty.isMerging() возвращает истинно маршрутизированные свойства коллекции/карты без установки по этому незащищенному пути, поэтому коллекция без установки, аннотированная ограниченным @JsonView, заполняется из JSON злоумышленника, даже если активное представление исключает ее.
Эта уязвимость исправлена в версиях 2.21.4 и 3.1.4.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 2
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Fasterxml Jackson-Databind
cpe:2.3:a:fasterxml:jackson-databind:*:*:*:*:*:*:*:*
|
2.21.0
|
2.21.4
|
|
Fasterxml Jackson-Databind
cpe:2.3:a:fasterxml:jackson-databind:*:*:*:*:*:*:*:*
|
3.0.0
|
3.1.4
|