Miggo Logo

CVE-2023-34152:
A vulnerability was found in ImageMagick. This security flaw cause a remote code execution...

N/A

CVSS Score

Basic Information

EPSS Score
0.98536%
Published
5/31/2023
Updated
11/4/2023
KEV Status
No
Technology
-

Technical Details

CVSS Vector
-

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot 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).

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

* vuln*r**ility w*s *oun* in Im***M**i*k. T*is s**urity *l*w **us* * r*mot* *o** *x**ution vuln*r**ility in Op*n*lo* wit* --*n**l*-pip*s *on*i*ur**.

Reasoning

T** *n*lysis is **s** on t** provi*** *ommit `*******` *n* t** issu* **s*ription. T** *ommit s*ows ***n**s in `Op*n*lo*` to support pip* *un*tion*lity. T** issu* **s*ription *l*ri*i*s t**t t*is *un*tion*lity, w**n *om*in** wit* insu**i*i*nt s*nitiz*t