概要
Java、Python、および.NETエージェントのセキュリティアップデートでは、エージェントがDBクエリの結果をNew Relicに報告したり、SQLステートメントを再発行したりする問題が修正されています。
発売日: 2018年3月7日
脆弱性の識別子: NR18-07
優先度: 高
対象となるソフトウェア
以下のNew Relicエージェントのバージョンが影響を受けます。
名前 | 影響を受けるバージョン | メモ | リメディエーション版 |
---|---|---|---|
Javaエージェント | SQLクエリ | ||
Pythonエージェント | SQLクエリ | ||
.NETエージェント | MySQLでのSQLクエリ |
脆弱性情報
New Relic エージェントは、 Slow Transaction Tracesと Slow SQL Queries の Explain Plan を実行します。エージェントの以前のバージョンでは、クエリの前にexplain
を追加することで、SQL クエリに対して Explain Plan を実行していました。これは、1 つのクエリにセミコロンで区切られた複数のステートメントがある場合に問題を引き起こす可能性があります。文字列の最初のステートメントはその実行計画を返しますが、その後のステートメントは一般的な SQL ステートメントとして実行される可能性があります。言語、ライブラリ、およびデータベースによっては、エージェントが追加ステートメントの結果を New Relic に返す場合があります。追加のステートメントが追加のINSERT
またはUPDATE
コマンドを実行する可能性もあります。今回のセキュリティ更新により、New Relic エージェントは、ステートメント区切りとしてセミコロンを含むクエリに対して Explain Plan を実行しなくなります。
緩和要因
- 多くの SQL ライブラリと言語フレームワークでは、さまざまな形式で
explain
を使用して複数のステートメントを実行できません。 - 新しいバージョンの.NETエージェントについては、説明の予定はありません。
回避策
エージェント構成でトランザクション トレーサを使用してexplain
プランを無効にします:
- Java の
transaction_tracer
transactiontracer
.NET の場合- Python の
transaction_tracer
セキュリティの脆弱性をNew Relicに報告
ニューレリックは、お客様とそのデータのセキュリティを重視しています。私たちの製品やウェブサイトにセキュリティ上の脆弱性を発見したと思われる場合は、New Relic の協調的な情報開示プログラムに報告していただくことを歓迎し、大変感謝しています。詳細については、 Reporting security vulnerabilities をご覧ください。
さらにヘルプが必要
その他のドキュメントリソースは以下の通りです。