Asayomu Tech
注目★★★★★GitHub Advisory

jmespath.php に任意 PHP コード実行脆弱性、コンパイラが関数名をエスケープ不足

30秒で把握

  • 1jmespath.php の CompilerRuntime にエスケープ不足で任意 PHP コード実行脆弱性
  • 2攻撃者が JMESPath 式の関数名をキャッシュファイルに PHP コードとして注入可能
  • 3CompilerRuntime / JP_PHP_COMPILE 利用時は速やかにパッチ適用か AstRuntime 切り替えを検討

要約

mtdowling/jmespath.php の CompilerRuntime がエスケープ不足のため、攻撃者が制御した JMESPath 式を使い任意 PHP コード実行が可能。コンパイラが関数名をキャッシュファイルに出力する際に PHP 文字列リテラルとして安全にエスケープせず、生成されたソースコードに攻撃者の PHP コードが混入する。アプリケーションが攻撃者制御の JMESPath 式を処理し CompilerRuntime で評価するか JP_PHP_COMPILE を有効にした JmesPath\search() 利用時に悪用され、PHP プロセスの権限で任意コード実行に至る。デフォルト実行時 AstRuntime は影響を受けない。

あなたへの影響

jmespath.php を利用し。

推奨:ユーザー入力を JMESPath 式として処理するアプリケーションは CompilerRuntime や JP_PHP_COMPILE を使用していないか確認し、使用中なら速やかにパッチ適用または AstRuntime への切り替えを検討すべき。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。