Skip to content

fix: 算子开发中,有代码注入的问题,通过在算子中写入恶意代码可导致RCE#513

Merged
Dallas98 merged 2 commits into
mainfrom
security/fce
Jun 17, 2026
Merged

fix: 算子开发中,有代码注入的问题,通过在算子中写入恶意代码可导致RCE#513
Dallas98 merged 2 commits into
mainfrom
security/fce

Conversation

@MoeexT

@MoeexT MoeexT commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

close: #511

MoeexT added 2 commits June 17, 2026 11:43
Replace create_subprocess_shell with create_subprocess_exec using
argument lists to prevent command injection when executing operator
tasks. Added cmd_args parameter to CommandTask/CommandScheduler for
safe argument-list-based process spawning.

Changes:
- cmd_task_scheduler.py: Add cmd_args support to CommandTask and
  CommandScheduler, using create_subprocess_exec(*cmd_args) which
  avoids shell interpretation of metacharacters
- datamate_wrapper.py: Use cmd_args list instead of shell string
- data_juicer_wrapper.py: Use cmd_args list instead of shell string

FCE: Code injection via operator shell commands could lead to RCE
Add Python identifier validation to prevent code injection through
crafted operator names in importlib.import_module and dynamic imports.

Changes:
- dataset.py load_ops_module: Validate op_name and registry_content
  against safe identifier patterns before importlib.import_module
- ops/__init__.py: Filter directory names to valid Python identifiers
  before dynamic import

FCE: Malicious operator names could bypass registry and trigger
arbitrary code execution via dynamic imports
@Dallas98 Dallas98 merged commit bbf1320 into main Jun 17, 2026
8 checks passed
@MoeexT MoeexT deleted the security/fce branch June 18, 2026 08:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

算子开发中,有代码注入的问题,通过在算子中写入恶意代码可导致RCE

2 participants