subprocess module call
Medium
- Category
- Dangerous Code Execution
- Content
warnings.append(proc.stderr.strip()) # Draw proc = subprocess.run( [sys.executable, os.path.join(script_dir, 'rdkit_mol.py'), '--smiles', canonical_smiles, '--action', 'draw', '--output', png_path], cwd=script_dir, capture_output=True, text=True, timeout=30)- Confidence
- 87% confidence
- Finding
- The code builds an output path from partially sanitized user input and writes a PNG file to disk. Replacing only '/' and '\\' is insufficient because an attacker can supply names such as '..' or special filenames, causing file overwrite or placement in unintended locations within the viz directory and potentially enabling disk abuse or clobbering application assets.
