Security
Headlines
HeadlinesLatestCVEs

Headline

GHSA-cxgf-v2p8-7ph7: NuProcess vulnerable to command-line injection through insertion of NUL character(s)

Impact

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.

  • On macOS, any argument with a NUL character is truncated at that character. This means the malicious arguments are never seen by the started process.
  • On Windows, the entire command line is truncated at the first NUL character. This means the malicious arguments, and any intentional arguments provided after them, are never seen by the started process.

Patches

2.0.5

Workarounds

Users of the library can sanitize command strings to remove NUL characters prior to passing them to NuProcess for execution.

References

None.

ghsa
#vulnerability#mac#windows#linux#java

Impact

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.

  • On macOS, any argument with a NUL character is truncated at that character. This means the malicious arguments are never seen by the started process.
  • On Windows, the entire command line is truncated at the first NUL character. This means the malicious arguments, and any intentional arguments provided after them, are never seen by the started process.

Patches

2.0.5

Workarounds

Users of the library can sanitize command strings to remove NUL characters prior to passing them to NuProcess for execution.

References

None.

References

  • GHSA-cxgf-v2p8-7ph7
  • https://nvd.nist.gov/vuln/detail/CVE-2022-39243
  • brettwooldridge/NuProcess#143
  • brettwooldridge/NuProcess@29bc09d

Related news

CVE-2022-39243: Merge pull request #143 from benhumphreys/harden-null-injection · brettwooldridge/NuProcess@29bc09d

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.