ClamAV 0.92 does not recognize Base64 UUEncoded archives, which allows remote attackers to bypass the scanner via a Base64-UUEncoded file.
ClamAV 0.92 is vulnerable to a critical bypass that allows attackers to evade malware detection. Attackers can craft malicious files, encoded using Base64-UUEncoding, that are not properly scanned, enabling the execution of malicious code on vulnerable systems. This vulnerability poses a significant risk of system compromise and data exfiltration.
Step 1: Payload Creation: The attacker crafts a malicious file, such as a trojan or a backdoor, containing the desired payload.
Step 2: Encoding: The attacker encodes the malicious file using Base64-UUEncoding. This process transforms the binary data into an ASCII representation, making it appear less suspicious and potentially bypassing basic detection mechanisms.
Step 3: Delivery: The attacker delivers the Base64-UUEncoded file to the target system. This could be through email, web downloads, or other file transfer methods.
Step 4: ClamAV Scanning: The target system's ClamAV scanner attempts to scan the file. Due to the vulnerability, ClamAV 0.92 fails to recognize and decode the Base64-UUEncoded format.
Step 5: Bypass: Because the file is not properly decoded, ClamAV does not scan the malicious content, allowing the file to bypass detection.
Step 6: Execution (if applicable): If the file is subsequently executed or processed by another application, the malicious payload is activated, leading to system compromise.
The root cause lies in the inadequate parsing and handling of Base64-UUEncoded archives within ClamAV 0.92. The scanner's logic fails to correctly identify and decode these specific encoded files. Specifically, the code responsible for unpacking archives (likely within the libclamav library) does not include the necessary routines to handle the Base64-UUEncoding format. This omission allows attackers to bypass the scanner's checks by simply encoding their malicious payload using this method. The vulnerability is a logic flaw in the archive handling routines, leading to a detection bypass rather than a more traditional vulnerability like a buffer overflow or memory corruption.