uproot dynamically generates Python class source code from ROOT TStreamerInfo records in a file...
Summary
uproot dynamically generates Python class source code from ROOT TStreamerInfo records in a file...
Original description
The description as published by the source.
uproot dynamically generates Python class source code from ROOT TStreamerInfo records in a file and compiles it at runtime. Some file-controlled streamer metadata fields (for example, streamer element names) are interpolated into the generated Python source without safe quoting via repr() or the !r format specifier. An attacker who can supply a crafted ROOT file can place Python expression-breaking content into a streamer metadata field. When uproot generates and invokes the corresponding reader method, the injected Python expression is evaluated in the context of the process opening the file, resulting in arbitrary Python code execution in applications that open or process attacker-controlled ROOT files with affected uproot code paths.
Source: NIST National Vulnerability Database NVD GitHub Advisory
AI summary
Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.
uprootは、ROOTファイルのTStreamerInfoレコードからPythonクラスのソースコードを動的に生成し、実行時にコンパイルします。この過程で、ストリーマのメタデータのフィールドが不適切に取り扱われており、特にPythonの表現破壊コンテンツを挿入することで、任意のコードが実行される可能性があります。攻撃者が細工したファイルを使用することで、プロセスのコンテキストで意図しないコードが実行されるリスクがあります。
uprootは、Pythonコードを動的に生成し、任意のコード実行を招く脆弱性がある。
uprootのROOTファイルのTStreamerInfoレコード処理中。
攻撃者が任意のPythonコードを注入し実行可能なため、高リスク。
ストリーマメタデータを安全に取り扱うためにrepr()や!rフォーマット指定子を使用して対策。
パッチが出るまでは、信頼できるソース以外のROOTファイルを開かないこと。
影響を受けるコードを含んでいるか、パッケージのバージョンを確認。