Ad

CVE-2026-70557

HIGH CVSS 4.0: 7,1 EPSS 0.34%
Обновлено 7 августа 2026
diboot-core
Параметр Значение
CVSS 7,1 (HIGH)
Тип уязвимости CWE-639 (Обход авторизации)
Поставщик diboot-core
Публичный эксплойт Нет

Конечная точка POST /common/load-related-data diboot-core разрешает имена полей, предоставленные вызывающей стороной, в любой столбец @TableField любого объекта и возвращает эти значения для всех строк без каких-либо полей или списка разрешенных объектов. Единственный охранник, linkedDataSecurityCheck(), возвращает true безоговорочно, поэтому любой прошедший проверку подлинности пользователь (включая учетную запись с нулевой ролью) может читать секретные поля с аннотацией @JsonIgnore, такие как IamAccount.authSecret и IamAccount.secretSalt, для каждой учетной записи или произвольные секретные поля любого другого объекта. Двухитерационный MD5 Широ с 8-значной солью легко взломать в автономном режиме, поэтому раскрытые хэши паролей администратора преобразуются в полный административный контроль.

Конечная точка не является примером кода; официальный интерфейс diboot-admin-ui требует этого, поэтому развертывания, соответствующие рекомендованной поставщиком интеграции, предоставляют его. В ветке разработки механизм был переименован linkedData* в AttachMore*, но метод AttachMoreSecurityCheck() также безоговорочно возвращает true.

Показать оригинальное описание (EN)

diboot-core's POST /common/load-related-data endpoint resolves caller-supplied field names to any @TableField column of any entity and returns those values for all rows, with no field or entity allowlist. The only guard, relatedDataSecurityCheck(), returns true unconditionally, so any authenticated user (including a zero-role account) can read @JsonIgnore-annotated secret fields such as IamAccount.authSecret and IamAccount.secretSalt for every account, or arbitrary secret fields of any other entity. Shiro's two-iteration MD5 with an 8-character salt is trivially crackable offline, so the disclosed admin password hashes convert to full administrative takeover. The endpoint is not example code; the official diboot-admin-ui frontend requires it, so deployments following the vendor's recommended integration expose it. The mechanism was renamed relatedData* to attachMore* on the development branch, but attachMoreSecurityCheck() also returns true unconditionally.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Условия для атаки
Не требуются
Нет дополнительных условий
Нужны права
Низкие
Нужны базовые права
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Нет
Нет модификации данных
Доступность
Нет
Нет нарушения работы

Строка CVSS v4.0