Ry0Tak

#419of 53,630
400Total CVSS
Vulnerabilities · 54
Low
1
Medium
18
High
22
Critical
13
PT-2024-18382
9.7
2024-04-09
Php · Php · CVE-2024-1874
**Name of the Vulnerable Software and Affected Versions** PHP versions prior to 8.1.29, prior to 8.2.20, and prior to 8.3.8 GHC versions 9.6.5, 9.8.3, and 9.10.1-alpha3 **Description** A command injection vulnerability exists in PHP versions 8.1.* before 8.1.29, 8.2.* before 8.2.20, and 8.3.* before 8.3.8 when using the `proc open()` function with array syntax. Insufficient escaping allows a malicious user to supply arguments that can execute arbitrary commands in the Windows shell. This vulnerability also affects the *process* library on Windows, where the `cmd.exe` interpreter is susceptible to command injection when executing `.bat` or `.cmd` files with arguments influenced by program input. The `CreateProcess` function implicitly spawns `cmd.exe` without proper escaping of special characters, leading to potential command injection. The initial fix for CVE-2024-1874 does not fully address the issue if the command name includes trailing spaces. The `RawCommand` constructor serializes the executable name and arguments into a single command line string, which is then passed to the `CreateProcess` function. **Recommendations** Upgrade PHP to version 8.1.29 or later. Upgrade PHP to version 8.2.20 or later. Upgrade PHP to version 8.3.8 or later. Upgrade the *process* library to version 1.6.19.0 or later. Upgrade GHC to version 9.6.5 or later. Upgrade GHC to version 9.8.3 or later. Upgrade GHC to version 9.10.1-alpha3 or later. Avoid executing batch files with arguments derived from untrusted input. If batch file execution is necessary with untrusted input, reject arguments containing special characters like `&` and `"` to mitigate the risk.
PT-2024-2720
10
2024-04-09
Rust · Rust · CVE-2024-24576
**Name of the Vulnerable Software and Affected Versions** Rust versions prior to 1.77.2 **Description** A critical security flaw in the Rust standard library could be exploited to target Windows users and stage command injection attacks. The vulnerability allows attackers to execute arbitrary shell commands by bypassing the escaping of arguments when invoking batch files on Windows using the `Command` API. The severity of this vulnerability is critical for those who invoke batch files on Windows with untrusted arguments. No other platform or use is affected. The `Command::arg` and `Command::args` APIs state in their documentation that the arguments will be passed to the spawned process as-is, regardless of the content of the arguments, and will not be evaluated by a shell. However, on Windows, the implementation is more complex due to the Windows API only providing a single string containing all the arguments to the spawned process. The standard library implements custom escaping for arguments passed to batch files, but it was reported that this escaping logic was not thorough enough, allowing malicious arguments to result in arbitrary shell execution. **Recommendations** To resolve the issue, update to Rust 1.77.2 or later. If you are using a version prior to 1.77.2, consider disabling the execution of batch files or restricting the use of the `Command` API until a patch is available. Additionally, be cautious when passing untrusted input as arguments to the `Command` API, as this could lead to command injection attacks. If you implement the escaping yourself or only handle trusted inputs on Windows, you can also use the `CommandExt::raw arg` method to bypass the standard library's escaping logic.