概要
Saloonは、ユーザーがAPI統合やSDKを構築するためのツールを提供するPHPライブラリです。バージョン4.0.0未満では、AccessTokenAuthenticator::unserialize()でOAuthトークンの状態をキャッシュやストレージから復元する際にPHPのunserialize()を使用し、allowed_classesをtrueに設定していました。攻撃者がシリアライズされた文字列(例えばキャッシュされたトークンファイルの上書きやその他の注入手段で)を制御できる場合、シリアライズされた「ガジェット」オブジェクトを提供することが可能です。unserialize()が実行されると、PHPはそのオブジェクトをインスタンス化してマジックメソッド(__wakeup、__destructなど)を実行し、オブジェクト注入が発生します。Monologのような一般的な依存関係が存在する環境では、これを連鎖させてリモートコード実行(RCE)に至ることがあります。バージョン4.0.0の修正では、AccessTokenAuthenticatorクラスからPHPのシリアライズ処理を除去し、ユーザーが認証情報を手動で保存・解決しなければならないように変更されました。
技術情報
- 公開日: 2026-03-31T11:46:08+09:00
- 更新日: 2026-03-31T11:46:08+09:00
参考リンク
対処方法
該当ソフトウェアの最新版への更新、または開発元が提供する緩和策の適用を推奨します。運用環境に応じて事前検証の上で実施してください。
免責
本記事は公開情報をもとに自動集約された速報です。正確性・完全性は保証できません。必ず一次情報(上記リンク等)をご確認ください。
