Deserialization vulnerability in Helix workflow and REST
Date: 2023-07
Affected: maven/org.apache.helix:helix-rest, maven/org.apache.helix:helix-core
Attack vector: deserialization
Category: vulnerability-disclosure
Severity: Critical
CVE: CVE-2023-38647
CWE: CWE-502
CVSS: 9.8 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)

An attacker can use SnakeYAML to deserialize java.net.URLClassLoader and make it load a JAR from a specified URL, and then deserialize javax.script.ScriptEngineManager to load code using that ClassLoader. This unbounded deserialization can likely lead to remote code execution. The code can be run in Helix REST start and Workflow creation. Affect all the versions lower and include 1.2.0. Affected products: helix-core, helix-rest Mitigation: Short term, stop using any YAML based configuration and workflow creation. Long term, all Helix version bumping up to 1.3.0


Mitigations:

Architectural layers (MAESTRO):