Avast Antivirus X.509 Error Rendering Command Execution

2015-10-02T00:00:00
ID EDB-ID:38384
Type exploitdb
Reporter Google Security Research
Modified 2015-10-02T00:00:00

Description

Avast Antivirus X.509 Error Rendering Command Execution. Remote exploit for windows platform

                                        
                                            Source: https://code.google.com/p/google-security-research/issues/detail?id=546

Avast will render the commonName of X.509 certificates into an HTMLLayout frame when your MITM proxy detects a bad signature. Unbelievably, this means CN="<h1>really?!?!?</h1>" actually works, and is pretty simple to convert into remote code execution.

To verify this bug, I've attached a demo certificate for you. Please find attached key.pem, cert.pem and cert.der. Run this command to serve it from a machine with openssl:

$ sudo openssl s_server -key key.pem -cert cert.pem -accept 443

Then visit that https server from a machine with Avast installed. Click the message that appears to demonstrate launching calc.exe.

Proof of Concept:
https://github.com/offensive-security/exploit-database-bin-sploits/raw/master/sploits/38384.zip