CVE-2026-9147
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.
Ce que ça veut dire
- Exposition
- Exploitable avec un accès local à la machine et sans authentification — mais seulement si un utilisateur ouvre un contenu piégé.
- Impact
- Un attaquant peut lire des données sensibles, modifier ou détruire des données et mettre le service hors ligne.
- Faiblesse
- L’application interprète du code fourni par l’attaquant, qui s’exécute avec ses privilèges.
- Probabilité
- Le score EPSS reste bas : rien n’annonce une exploitation imminente, ce qui ne dispense pas de corriger.
À faireÀ intégrer au prochain cycle de correctifs.
Lecture automatique du vecteur CVSS, du type de faiblesse (CWE) et du score EPSS. La description technique ci-dessus reste celle publiée par le NIST, en anglais.