| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| github.com/neuvector/neuvector | go | >= 5.3.0, < 5.3.5 | 5.3.5 |
| github.com/neuvector/neuvector | go | >= 5.4.0, <= 5.4.6 | 5.4.7 |
| github.com/neuvector/neuvector | go | >= 0.0.0-20230727023453-1c4957d53911, < 0.0.0-20251020133207-084a437033b4 | 0.0.0-20251020133207-084a437033b4 |
The vulnerability lies in the monitor process of the NeuVector enforcer, specifically within the check_consul_ports function in monitor/monitor.c. This function is responsible for checking if the consul subprocess is still running by checking for listening ports. It constructs a shell command using the CLUSTER_RPC_PORT and CLUSTER_LAN_PORT environment variables. The vulnerability arises because these variables are used without any sanitization or validation, allowing an attacker to inject arbitrary commands. The patch addresses this by introducing a new function, is_valid_port, which ensures that the provided values are legitimate port numbers before they are incorporated into the shell command. If the validation fails, the function exits, preventing the execution of the popen call with a malicious command. The identified vulnerable function, check_consul_ports, would be the entry point for exploitation and would appear in a runtime profile or stack trace if the vulnerability were triggered.
check_consul_portsmonitor/monitor.c
Ongoing coverage of React2Shell