Skip to content

Command-line injection through insertion of NUL character(s)

High
brettwooldridge published GHSA-cxgf-v2p8-7ph7 Sep 25, 2022

Package

maven com.zaxxer.nuprocess (Maven)

Affected versions

1.2.0+

Patched versions

2.0.5

Description

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.

Severity

High

CVE ID

CVE-2022-39243

Weaknesses

No CWEs