DETECTION OVERVIEW
Risk Factors
This vulnerability is well known and public exploit code is available. An unauthenticated attacker can gain control of a GitLab server.
Kill Chain
Risk Score
87
GitLab Community Edition (CE) and Enterprise Edition (EE) contain a vulnerability in how it validates an image file before sending it to the file parser tool, ExifTool. An attacker embeds a malicious command into a specifically designed file. The malicious command is preceded by a DjVu image header and a Perl qx { } operator. The qx { } operator facilitates running an external command and capturing output. (DjVu is a file format similar to the PDF file format.) The attacker sends an HTTP POST request with the specially designed file to an upload endpoint in GitLab. GitLab does not validate the image file content before sending it to ExifTool, which is written in Perl. ExifTool parses the file and runs the malicious command.
Upgrade GitLab to 13.8.8, 13.9.6, or 13.10.3