CVE-2026-70557 in diboot
要約
〜によって VulDB • 2026年08月07日
diboot-coreのPOST /common/load-related-dataエンドポイントは、呼び出し元が指定したフィールド名を任意のエンティティの任意の@TableFieldカラムに解決し、すべての行に対してその値を返します。ここで使用されるのは、フィールドやエンティティに対する許可リスト(allowlist)ではありません。唯一の防御策であるrelatedDataSecurityCheck()メソッドは常にtrueを返すため、認証済みユーザー(ゼロロールアカウントを含む)であれば誰でも、IamAccount.authSecretおよびIamAccount.secretSaltといった@JsonIgnore注釈付きの秘密フィールドや、他の任意のエンティティの機密データをすべてのアカウントに対して読み取ることができます。Shiroによる2回の反復処理と8文字のソルトを用いたMD5ハッシュはオフラインで容易に解読可能であるため、漏洩した管理者パスワードのハッシュ値から完全な管理権限の乗っ取りが可能になります。このエンドポイントはサンプルコードではなく、公式のdiboot-admin-uiフロントエンドがこれを必要としているため、ベンダー推奨の統合手順に従ってデプロイされた環境ではこれが公開されます。なお、開発ブランチでは関連メカニズムの名前がrelatedData*からattachMore*に変更されましたが、attachMoreSecurityCheck()も同様に常にtrueを返す状態です。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.