BullGuard Premium Protection version 15.0.297 suffers from an authentication bypass vulnerability.
e518b0247ad14e6664301878be74b7d5aa34d98c7e9b836f279738abe34a4d3b
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Advisory ID: SYSS-2015-018
Product: BullGuard Premium Protection
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 Premium Protection is an endpoint protection software with
many features defending users against different threats.
The vendor BullGuard describes the product as follows (see [1]):
"BullGuard Premium Protection is a complete, simple-to-use security
suite that protects you against malware, identity theft, financial
fraud, online data leaks and helps you keep your children safe on social
networks."
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vulnerability Details:
The endpoint protection software BullGuard Premium Protection 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.
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, if no further security controls preventing such an analysis
have been implemented.
In order to bypass the password-based authentication, for example to
deactivate the antivirus protection of BullGuard Premium Protection 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 Premium Protection 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 Premium Protection
http://www.bullguard.com/products/bullguard-premium-protection.aspx
[2] SySS Security Advisory SYSS-2015-018
https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2015-018.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
iQIcBAEBCgAGBQJVSxSdAAoJENmkv2o0rU2rdHwP/iWrM8iGzc707FyOE3nhh08N
zzab/m/QCRAAI0odLQ4DVM0Yjo8dIL0fqfJF+i5a+nLqY9AWBUiEHpOehiEtsMn3
njt0mBNUkfDkOV6uWGWIxs2HnQeb1IPgF/TeGLMaGGXTYRaJcRJywcmm4o4sQvil
e+RnXg2ATxfMyVlt4ZVGkFKRiTSKgApXBS8Ww+VKGc6S7wc52oKrJ4arCEXdiNoa
Y42mZ9lMT0H3O/1aAUSMB4oyLZKmG34EbJ3s98sp+CIiyonqcbVtZbUvRvXFCEja
YLI21oHnpqtE1ENZl1vUfjcLiXM2kFPSaTuO7fRjnMv0I8phO7ngIGJdD4Z2V0Tm
KbihEoEPYisXtrhaa0Aq2D1sZTyyQXEmXXN026lBXG/2LStAkExsPlH1fsmmHNXB
JGt/DLN24BINSgnIhwl615u74tNYLzz7y0WgYmGaF39efnfEAT+AYTSPtJ/lmOmN
ZbM1Y2siwsf+z2qezd4vFkMuOkkMuB0+S15cvpTmgSyxJft/GRw7MJbTwZqQupc5
Dxo4+CmMBkEP+KwRIERiiXZQMk3H6twVwVh6XJ0cObgFBiNri0qsikVyMOPV4HyA
10k+GmBf0HIgdBWSG6i4jRuTctXn4sBkg0HoWgZMCodYoXNB7dp+oM7sXgwEgJCS
2KyUc69rLbtJOqOXqno0
=Lg9+
-----END PGP SIGNATURE-----