概要
jmespath.php は、PHP アプリケーション内で PHP のデータ構造を使い JSON ドキュメントから要素を宣言的に抽出するための JMESPath を利用可能にするソフトウェアです。2.9.1 より前のバージョンでは、攻撃者が制御する JMESPath 式を用いて `JmesPathCompilerRuntime` を使用すると、攻撃者が制御可能な PHP コードを生成・実行してしまう可能性がありました。コンパイラは解析された JMESPath 関数名を十分にエスケープせずに生成された PHP ソースに挿入します。巧妙に作成された式により生成されたキャッシュファイルに攻撃者制御の実行可能な PHP コードが含まれ、それをコンパイラランタイムが読み込みます。この問題は `2.9.1` 以降で修正されています。回避策として、`JP_PHP_COMPILE` を無効にし、攻撃者制御の式で `JmesPathCompilerRuntime` を使用しないでください。信頼できない式にはデフォルトの `AstRuntime` を使用してください。アップグレード前に信頼できない JMESPath 式の受け入れを続ける必要があるアプリケーションでは、それらの式がコンパイラランタイムで評価されないことを確実にしてください。
技術情報
- 公開日: 2026-06-16T13:39:55+09:00
- 更新日: 2026-06-16T13:39:55+09:00
参考リンク
対処方法
該当ソフトウェアの最新版への更新、または開発元が提供する緩和策の適用を推奨します。運用環境に応じて事前検証の上で実施してください。
免責
本記事は公開情報をもとに自動集約された速報です。正確性・完全性は保証できません。必ず一次情報(上記リンク等)をご確認ください。
