CVE-2023-34152:
A vulnerability was found in ImageMagick. This security flaw cause a remote code execution...
N/A
Basic Information
Technical Details
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The analysis is based on the provided commit ca430ff
and the issue description. The commit shows changes in OpenBlob
to support pipe functionality. The issue description clarifies that this functionality, when combined with insufficient sanitization by SanitizeString
(from an unfetched commit), leads to command injection. OpenBlob
is directly involved in processing the malicious filename
and triggering the command execution. SanitizeString
is also implicated, but its direct involvement cannot be confirmed without the relevant patch. The confidence for OpenBlob
is high due to its direct role in handling the piped filename
, as shown in the patch. If the patch for SanitizeString
were available, it would also be listed, likely with high confidence if it showed insufficient sanitization logic related to pipe characters or shell metacharacters when --enable-pipes
is active. Since I could not fetch the commit related to SanitizeString
, I am only listing OpenBlob
with high confidence based on the available evidence from commit ca430ff
and the issue description which explicitly mentions OpenBlob
's role in the vulnerability when --enable-pipes
is configured and SanitizeString
fails to prevent the injection. The issue description also mentions that SanitizeString
was added in commit 40639d1
, which I could not fetch, to suppress arbitrary command execution, but it was an incomplete fix. This further supports that OpenBlob
is the entry point and the vulnerable function when pipes are enabled, and the sanitization step is bypassed or insufficient. The runtime indicator would be OpenBlob
processing a filename
that starts with a pipe character and contains malicious shell commands, leading to popen_utf8
(mentioned in the issue description as being called after SanitizeString
) executing those commands. The precise function signature for a profiler would be OpenBlob
. The vulnerability is a command injection due to improper input validation of filenames
when the pipe feature is enabled. The patch ca430ff
shows the conditional compilation for pipe support within OpenBlob
, making it the key function for this vulnerability path. The issue description confirms that even with the later addition of SanitizeString
(in the unfetched commit 40639d1
), the vulnerability persisted in OpenBlob
due to SanitizeString
's inadequacy for this specific command injection vector (not filtering backticks or escaped quotes).