Description
NuProcess is an external process execution implementation for Java. In all the versions of NuProcess where it forks processes by using the JVM's Java_java_lang_UNIXProcess_forkAndExec method (1.2.0+), attackers can use NUL characters in their strings to perform command line injection. Java's ProcessBuilder isn't vulnerable because of a check in ProcessBuilder.start. NuProcess is missing that check. This vulnerability can only be exploited to inject command line arguments on Linux. Version 2.0.5 contains a patch. As a workaround, users of the library can sanitize command strings to remove NUL characters prior to passing them to NuProcess for execution.
Remediation
References
https://github.com/brettwooldridge/NuProcess/commit/29bc09de561bf00ff9bf77123756363a9709f868
https://github.com/brettwooldridge/NuProcess/pull/143
https://github.com/brettwooldridge/NuProcess/security/advisories/GHSA-cxgf-v2p8-7ph7
Related Vulnerabilities
CVE-2023-29202 Vulnerability in maven package org.xwiki.platform:xwiki-platform-rendering-macro-rss
CVE-2021-39147 Vulnerability in maven package com.thoughtworks.xstream:xstream
CVE-2021-25122 Vulnerability in maven package org.apache.tomcat:tomcat-catalina
CVE-2022-2218 Vulnerability in maven package org.webjars.npm:parse-url
CVE-2022-29567 Vulnerability in maven package com.vaadin:vaadin-grid-flow