// For flags

CVE-2024-29737

Apache StreamPark (incubating): maven build params could trigger remote command execution

Severity Score

4.7
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

Track*
*SSVC
Descriptions

In streampark, the project module integrates Maven's compilation capabilities. The input parameter validation is not strict, allowing attackers to insert commands for remote command execution, The prerequisite for a successful attack is that the user needs to log in to the streampark system and have system-level permissions. Generally, only users of that system have the authorization to log in, and users would not manually input a dangerous operation command. Therefore, the risk level of this vulnerability is very low.

Mitigation:

all users should upgrade to 2.1.4

Background info:

Log in to Streampark using the default username (e.g. test1, test2, test3) and the default password (streampark). Navigate to the Project module, then add a new project. Enter the git repository address of the project and input `touch /tmp/success_2.1.2` as the "Build Argument". Note that there is no verification and interception of the special character "`". As a result, you will find that this injection command will be successfully executed after executing the build.

In the latest version, the special symbol ` is intercepted.

En Streampark, el módulo del proyecto integra las capacidades de compilación de Maven. La validación de los parámetros de entrada no es estricta, lo que permite a los atacantes insertar comandos para la ejecución remota de comandos. El requisito previo para un ataque exitoso es que el usuario debe iniciar sesión en el sistema Streampark y tener permisos a nivel de sistema. Generalmente, sólo los usuarios de ese sistema tienen autorización para iniciar sesión y los usuarios no ingresarían manualmente un comando de operación peligroso. Por tanto, el nivel de riesgo de esta vulnerabilidad es muy bajo. Mitigación: todos los usuarios deben actualizar a 2.1.4 Información general: inicie sesión en Streampark utilizando el nombre de usuario predeterminado (por ejemplo, test1, test2, test3) y la contraseña predeterminada (streampark). Navegue hasta el módulo Proyecto y luego agregue un nuevo proyecto. Ingrese la dirección del repositorio git del proyecto e ingrese `touch /tmp/success_2.1.2` como "Argumento de compilación". Tenga en cuenta que no existe verificación ni interceptación del carácter especial "`". Como resultado, encontrará que este comando de inyección se ejecutará con éxito después de ejecutar la compilación. En la última versión, se intercepta el símbolo especial `.

*Credits: L0ne1y
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
Low
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
* Common Vulnerability Scoring System
SSVC
  • Decision:Track*
Exploitation
None
Automatable
No
Tech. Impact
Total
* Organization's Worst-case Scenario
Timeline
  • 2024-03-19 CVE Reserved
  • 2024-07-17 CVE Published
  • 2024-08-02 CVE Updated
  • 2024-08-19 EPSS Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-77: Improper Neutralization of Special Elements used in a Command ('Command Injection')
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Apache
Search vendor "Apache"
Streampark
Search vendor "Apache" for product "Streampark"
>= 2.0.0 < 2.1.4
Search vendor "Apache" for product "Streampark" and version " >= 2.0.0 < 2.1.4"
-
Affected