概要
Cactiはオープンソースのパフォーマンスおよび障害管理フレームワークです。バージョン1.2.30およびそれ以前には、managers.phpの未検証のunserialize関数とimplode関数の組み合わせによってSQLインジェクションの脆弱性が存在しました。managers.phpの756行目で、アプリケーションはcacti_unserialize(stripslashes(gnrv(‘selected_graphs_array’)))を呼び出して$selected_itemsに値を割り当てています。cacti_unserialize()関数はallowed_classesをfalseに設定してunserialize()を呼び出し、オブジェクトインジェクションを防止しますが、任意の文字列配列の逆シリアライズは許可されています。その後、760行目から766行目にかけて、逆シリアライズされた配列の値が直接db_execute(‘DELETE FROM snmpagent_managers WHERE id IN (‘ . implode(‘,’, $selected_items) . ‘)’)に渡されており、整数検証が行われないままSQL文にimplodeされるため、SNMPエージェント管理権限を持つユーザーがSQLインジェクションを実行できる状態でした。この問題はバージョン1.2.31で修正されました。
技術情報
- 公開日: 2026-06-30T11:21:31+09:00
- 更新日: 2026-06-30T11:21:31+09:00
参考リンク
対処方法
該当ソフトウェアの最新版への更新、または開発元が提供する緩和策の適用を推奨します。運用環境に応じて事前検証の上で実施してください。
免責
本記事は公開情報をもとに自動集約された速報です。正確性・完全性は保証できません。必ず一次情報(上記リンク等)をご確認ください。
