-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Advisory ID: SYSS-2015-019 Product: BullGuard Antivirus Vendor: BullGuard Ltd. Affected Version(s): 15.0.297 Tested Version(s): 15.0.297 Vulnerability Type: Authentication Bypass Using an Alternate Path or Channel (CWE-288) Risk Level: Medium Solution Status: Not fixed Vendor Notification: 2015-03-16 Solution Date: - Public Disclosure: 2015-05-07 CVE Reference: Not yet assigned Author of Advisory: Matthias Deeg (SySS GmbH) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Overview: BullGuard Antivirus is an endpoint protection software with many features defending users against different threats. The vendor BullGuard describes the product as follows (see [1]): "Independent tests established that BullGuard antivirus has the best malware catch rates. It features multiple layers of defence providing an impenetrable protection system" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Vulnerability Details: The antivirus software BullGuard Antivirus offers a password protection in order to restrict access to the management console. With an enabled password protection, changing settings or deactivating the protection features requires the set password. By analyzing the password-based authentication of the implemented password protection, the SySS GmbH found out, that the password comparison is done within the process BullGuard.exe, which can be run in the context of the current Windows user, who can also be a standard, limited user, if no further security controls preventing such an analysis have been implemented. This fact allows a further analysis and the manipulation of the password comparison during runtime without administrative privileges, as every user is able to debug and manipulate the processes running with her user privileges. In order to bypass the password-based authentication, for example to deactivate the antivirus protection of BullGuard Antivirus in an unauthorized manner, an attacker only has to patch this password comparison, so that it always returns true, for example by comparing the correct unload password with itself or by modifying the program control flow. For running a new instance of the process BullGuard.exe besides an already running protected version of this process, that can neither be debugged nor terminated with low user privileges, an instance check has to be patched, too. The SySS GmbH also found out, that the actual set password for the password protection can be extracted as cleartext during runtime from the attacker-controlled process BullGuard.exe. Thus, a limited Windows user or malware running in the context of such a user is able to deactivate BullGuard Antivirus in an unauthorized manner and furthermore to extract the actual password as cleartext. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Proof of Concept (PoC): The SySS GmbH developed a proof-of-concept software tool named UnloadBullGuard for deactivating the BullGuard protection in an unauthorized manner. The following output exemplarily shows a successful bypass of the password-based authentication and of the cleartext password extraction: >UnloadBullguard.exe ____________________________________________________________ / _____ _____ _____ \ / / ___| / ___/ ___| \ | \ `--. _ _\ `--.\ `--. | | `--. \ | | |`--. \`--. \ | | /\__/ / |_| /\__/ /\__/ / | \ \____/ \__, \____/\____/ ... unloads BullGuard! / \ __/ | / / |___/ _________________________________________/ / _________________/ (__) /_/ (oo) /------\/ / |____|| * || || ^^ ^^ SySS Unload BullGuard v1.0 by Matthias Deeg - SySS GmbH (c) 2015 [+] Found location of the executable file BullGuard.exe [+] Created new instance of the process BullGuard.exe [+] The BullGuard process was patched successfully. Now you can unload the BullGuard protection with an arbitrary password. After entering an arbitrary password, the correct one will be shown. [+] The correct password is: S3cret1! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Solution: The SySS GmbH is currently not aware of a solution for the reported security vulnerability. Please contact the vendor for further information. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Disclosure Timeline: 2015-03-16: Vulnerability reported to vendor 2015-03-24: Reported vulnerability again as the vendor did not reply to to the first e-mail with the SySS security advisory 2015-03-24: Vendor acknowledges e-mail with SySS security advisory 2015-05-07: Public release of security advisory according to the SySS Responsible Disclosure Policy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ References: [1] Product Web site for BullGuard Antivirus http://www.bullguard.com/products/bullguard-antivirus.aspx [2] SySS Security Advisory SYSS-2015-019 https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2015-019.txt [3] SySS Responsible Disclosure Policy https://www.syss.de/en/news/responsible-disclosure-policy/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Credits: This security vulnerability was found by Matthias Deeg of the SySS GmbH. E-Mail: matthias.deeg (at) syss.de Public Key: https://www.syss.de/fileadmin/dokumente/Materialien/PGPKeys/Matthias_Deeg.asc Key fingerprint = D1F0 A035 F06C E675 CDB9 0514 D9A4 BF6A 34AD 4DAB ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Disclaimer: The information provided in this security advisory is provided "as is" and without warranty of any kind. Details of this security advisory may be updated in order to provide as accurate information as possible. The latest version of this security advisory is available on the SySS Web site. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Copyright: Creative Commons - Attribution (by) - Version 3.0 URL: http://creativecommons.org/licenses/by/3.0/deed.en -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCgAGBQJVSxS2AAoJENmkv2o0rU2rGjIQAJEa5YaTnbo4HSHSBaAvI3Ob erNTlflNVwd8086HnWgf6mpyWkzwTuBWhIVplX48SWWgAeH0TkHMegJuer8K62Gk eMvJSNhnqH4P1ulU4G7XZGG/VneMVK/yib3XBFZCfdJWmG75r8QmNFG8gNlQKdNS tx8YG7J8I3fYfWPvkCEii9gXKibqN9Mg29hZiVhwN11SwzwKhiw/IQPWzmUNKzL7 S7eNZ6Lg0k9N2T9npJeCQ3/qxv0WOSL2wkL5Qb6Af+26tTU2pL08pI2ntjjtTJfM GeVtSVKlZOPL1XYzZestAGIhn6ji7/3Rd9e1itxMRjkirU9+oaYLDak/+2i/Pfat 6hDCD33ahnCJc5dNUgFbLZPjt3UwV3mGu7+Ur5N7GqynzrsN9gDJ0IsrFYbVkTS+ g9yZY6kegXQQJNIQYeOeSA8XQ8GAIZplmxKIUpVFyPPcvmv4LtVci2TBSpERGstq VeAvQZ3sy0fH5ztDrHrvwVgbDEIlNNcXMocLXaQdqA5+6pn3tVE+NiUMz9E/IW3X 6ZGsQaNVA8AAJjSfsBnbbFL/YZIC65ShIYE7wF1vsjmptAsl021AaaqD3wbeUIt1 ZsTbNPrWzHHvwIpI60I4l+2zNi49I6YPQDxqR/xSJuPKfaQ+dYs3DmYz+9BSjkqd m85iI3yPKyaJXNuDfPgy =gEo/ -----END PGP SIGNATURE-----