Security
A look at password managers
As we noted in an earlier article, passwords are a liability and we'd prefer to get rid of them, but the current reality is that we do use a plethora of passwords in our daily lives. This problem is especially acute for technology professionals, particularly system administrators, who have to manage a lot of different machines. But it also affects regular users who still use a large number of passwords, from their online bank to their favorite social-networking site. Despite the remarkable memory capacity of the human brain, humans are actually terrible at recalling even short sets of arbitrary characters with the precision needed for passwords.
Therefore humans reuse passwords, make them trivial or guessable, write them down on little paper notes and stick them on their screens, or just reset them by email every time. Our memory is undeniably failing us and we need help, which is where password managers come in. Password managers allow users to store an arbitrary number of passwords and just remember a single password to unlock them all.
But there is a large variety of password managers out there, so which one should we be using? At my previous job, an inventory was done of about 40 different free-software password managers in different stages of development and of varying quality. So, obviously, this article will not be exhaustive, but instead focus on a smaller set of some well-known options that may be interesting to readers.
KeePass: the popular alternative
The most commonly used password-manager design pattern is to store passwords in a file that is encrypted and password-protected. The most popular free-software password manager of this kind is probably KeePass.
An important feature of KeePass is the ability to auto-type passwords in forms, most notably in web browsers. This feature makes KeePass really easy to use, especially considering it also supports global key bindings to access passwords. KeePass databases are designed for simultaneous access by multiple users, for example, using a shared network drive.
KeePass has a graphical interface written in C#, so it uses the Mono framework on Linux. A separate project, called KeePassX is a clean-room implementation written in C++ using the Qt framework. Both support the AES and Twofish encryption algorithms, although KeePass recently added support for the ChaCha20 cipher. AES key derivation is used to generate the actual encryption key for the database, but the latest release of KeePass also added using Argon2, which was the winner of the July 2015 password-hashing competition. Both programs are more or less equivalent, although the original KeePass seem to have more features in general.
The KeePassX project has recently been forked into another project now called KeePassXC that implements a set of new features that are present in KeePass but missing from KeePassX like:
- auto-type on Linux, Mac OS, and Windows
- database merging — which allows multi-user support
- using the web site's favicon in the interface
So far, the maintainers of KeePassXC seem to be open to
re-merging the project
"if the original maintainer of KeePassX in the future will be more
active and will accept our merge and changes
". I can confirm that,
at the time of writing, the original
KeePassX project now has 79
pending pull requests and only one pull request was merged since the
last release, which was 2.0.3 in September 2016.
While KeePass and derivatives allow multiple users to access the same database through the merging process, they do not support multi-party access to a single database. This may be a limiting factor for larger organizations, where you may need, for example, a different password set for different technical support team levels. The solution in this case is to use separate databases for each team, with each team using a different shared secret.
Pass: the standard password manager?
I am currently using password-store,
or pass, as a password manager. It aims to be "the standard Unix
password manager
". Pass is a GnuPG-based password
manager that
features a surprising number of features given its small size:
- copy-paste support
- Git integration
- multi-user/group support
- pluggable extensions (in the upcoming 1.7 release)
The command-line interface is simple to use and intuitive. The following, will, for example, create a pass repository, a 20 character password for your LWN account and copy it to the clipboard:
$ pass init $ pass generate -c lwn 20
The main issue with pass is that it doesn't encrypt the name of
those entries: if someone were to compromise my machine, they could
easily see which sites I have access to simply by listing the passwords
stored in ~/.password-store
. This is a deliberate design
decision by the
upstream project, as
stated
by a mailing list participant, Allan Odgaard:
Odgaard goes on to point out that there are alternatives that do encrypt the entire database (including the site names) if users really need that feature.
Furthermore, there is a
tomb plugin for
pass that encrypts the
password store in a LUKS
container (called a "tomb"), although it requires
explicitly opening and closing the container, which makes it only
marginally better than using full disk encryption system-wide. One
could also argue that password file names do not hold secret
information, only the site name and username, perhaps, and that doesn't
require secrecy. I do believe those should be kept secret, however, as
they could be used to discover (or prove) which sites you have access
to and then used to perform other attacks. One could draw a
parallel with the SSH known_hosts
file, which used to be plain text
but is now hashed so that hosts are more difficult to discover.
Also, sharing a database for multi-user support will require some sort
of file-sharing mechanism. Given the integrated Git support, this will
likely involve setting up a private Git repository for your team,
something which may not be accessible to the average Linux
user. Nothing keeps you, however, from sharing the ~/.password-store
directory through another file sharing mechanism like (say)
Syncthing or Dropbox.
You can use multiple distinct databases easily using the
PASSWORD_STORE_DIR
environment variable. For example, you could have
a shell alias to use a different repository for your work passwords
with:
alias work-pass="PASSWORD_STORE_DIR=~/work-passwords pass"
Group support comes from a clever use of the GnuPG multiple-recipient encryption support. You simply have to specify multiple OpenPGP identities when initializing the repository, which also works in subdirectories:
$ pass init -p Ateam me@example.com joelle@example.com mkdir: created directory '/home/me/.password-store/Ateam' Password store initialized for me@example.com, joelle@example.com [master 0e3dbe7] Set GPG id to me@example.com, joelle@example.com. 1 file changed, 2 insertions(+) create mode 100644 Ateam/.gpg-id
The above will configure pass to encrypt the passwords in the
Ateam
directory for me@example.com and joelle@example.com. Pass
depends on GnuPG to do the right thing when encrypting files and how
those identities are treated is entirely delegated to GnuPG's default
configuration. This could lead to problems
if arbitrary keys can be
injected into your key ring, which could confuse GnuPG. I would therefore
recommend using full key fingerprints instead of user identifiers.
Regarding the actual encryption algorithms used, in my tests, GnuPG 1.4.18 and 2.1.18 seemed to default to 256-bit AES for encryption, but that has not always been the case. The chosen encryption algorithm actually depends on the recipient's key preferences, which may vary wildly: older keys and versions may use anything from 128-bit AES to CAST5 or Triple DES. To figure out which algorithm GnuPG chose, you may want to try this pipeline:
$ echo test | gpg -e -r you@example.com | gpg -d -v [...] gpg: encrypted with 2048-bit RSA key, ID XXXXXXX, created XXXXX "You Person You <you@example.com>" gpg: AES256 encrypted data gpg: original file name='' test
As you can see, pass is primarily a command-line application, which may make it less accessible to regular users. The community has produced different graphical interfaces that are either using pass directly or operate on the storage with their own GnuPG integration. I personally use pass in combination with Rofi to get quick access to my passwords, but less savvy users may want to try the QtPass interface, which should be more user-friendly. QtPass doesn't actually depend on pass and can use GnuPG directly to interact with the pass database; it is available for Linux, BSD, OS X, and Windows.
Browser password managers
Most users are probably already using a password manager through their web browser's "remember password" functionality. For example, Chromium will ask if you want it to remember passwords and encrypt them with your operating system's facilities. For Windows, this encrypts the passwords with your login password and, for GNOME, it will store the passwords in the gnome-keyring storage. If you synchronize your Chromium settings with your Google account, Chromium will store those passwords on Google's servers, encrypted with a key that is stored in the Google Account itself. So your passwords are then only as safe as your Google account. Note that this was covered here in 2010, although back then Chromium didn't synchronize with the Google cloud or encrypt with the system-level key rings. That facility was only added in 2013.
In Firefox, there's an optional, profile-specific master password that unlocks all passwords. In this case, the issue is that browsers are generally always open, so the vault is always unlocked. And this is for users that actually do pick a master password; users are often completely unaware that they should set one.
The unlocking mechanism is a typical convenience-security trade-off: either users need to constantly input their master passwords to login or they don't, and the passwords are available in the clear. In this case, Chromium's approach of actually asking users to unlock their vault seems preferable, even though the developers actually refused to implement the feature for years.
Overall, I would recommend against using a browser-based password manager. Even if it is not used for critical sites, you will end up with hundreds of such passwords that are vulnerable while the browser is running (in the case of Firefox) or at the whim of Google (in the case of Chromium). Furthermore, the "auto-fill" feature that is often coupled with browser-based password managers is often vulnerable to serious attacks, which is mentioned below.
Finally, because browser-based managers generally lack a proper password generator, users may fail to use properly generated passwords, so they can then be easily broken. A password generator has been requested for Firefox, according to this feature request opened in 2007, and there is a password generator in Chrome, but it is disabled by default and hidden in the mysterious chrome://flags URL.
Other notable password managers
Another alternative password manager, briefly mentioned in the previous article, is the minimalistic Assword password manager that, despite its questionable name, is also interesting. Its main advantage over pass is that it uses a single encrypted JSON file for storage, and therefore doesn't leak the name of the entries by default. In addition to copy/paste, Assword also supports automatically entering passphrases in fields using the xdo library. Like pass, it uses GnuPG to encrypt passphrases. According to Assword maintainer Daniel Kahn Gillmor in email, the main issue with Assword is "interaction between generated passwords and insane password policies". He gave the example of the Time-Warner Cable registration form that requires, among other things, "letters and numbers, between 8 and 16 characters and not repeat the same characters 3 times in a row".
Another well-known password manager is the commercial LastPass service which released a free-software command-line client called lastpass-cli about three years ago. Unfortunately, the server software of the lastpass.com service is still proprietary. And given that LastPass has had at least two serious security breaches since that release, one could legitimately question whether this is a viable solution for storing important secrets.
In general, web-based password managers expose a whole new attack surface that is not present in regular password managers. A 2014 study by University of California researchers showed that, out of five password managers studied, every one of them was vulnerable to at least one of the vulnerabilities studied. LastPass was, in particular, vulnerable to a cross-site request forgery (CSRF) attack that allowed an attacker to bypass account authentication and access the encrypted database.
Problems with password managers
When you share a password database within a team, how do you remove access to a member of the team? While you can, for example, re-encrypt a pass database with new keys (thereby removing or adding certain accesses) or change the password on a KeePass database, a hostile party could have made a backup of the database before the revocation. Indeed, in the case of pass, older entries are still in the Git history. So access revocation is a problematic issue found with all shared password managers, as it may actually mean going through every password and changing them online.
This fundamental problem with shared secrets can be better addressed with a tool like Vault or SFLvault. Those tools aim to provide teams with easy ways to store dynamic tokens like API keys or service passwords and share them not only with other humans, but also make them accessible to machines. The general idea of those projects is to store secrets in a central server and send them directly to relevant services without human intervention. This way, passwords are not actually shared anymore, which is similar in spirit to the approach taken by centralized authentication systems like Kerberos. If you are looking at password management for teams, those projects may be worth a look.
Furthermore, some password managers that support auto-typing were found to be vulnerable to HTML injection attacks: if some third-party ad or content is able to successfully hijack the parent DOM content, it masquerades as a form that could fool auto-typing software as demonstrated by this paper that was submitted at USENIX 2014. Fortunately, KeePass was not vulnerable according to the security researchers, but LastPass was, again, vulnerable.
Future of password managers?
All of the solutions discussed here assume you have a trusted computer you regularly have access to, which is a usage pattern that seems to be disappearing with a majority of the population. You could consider your phone to be that trusted device, yet a phone can be lost or stolen more easily than a traditional workstation or even a laptop. And while KeePass has Android and iOS ports, those do not resolve the question of how to share the password storage among those devices or how to back them up.
Password managers are fundamentally file-based, and the "file" concept seems to be quickly disappearing, faster than we technologists sometimes like to admit. Looking at some relatives' use of computers, I notice it is less about "files" than images, videos, recipes, and various abstract objects that are stored in the "cloud". They do not use local storage so much anymore. In that environment, password managers lose their primary advantage, which is a local, somewhat offline file storage that is not directly accessible to attackers. Therefore certain password managers are specifically designed for the cloud, like LastPass or web browser profile synchronization features, without necessarily addressing the inherent issues with cloud storage and opening up huge privacy and security issues that we absolutely need to address.
This is where the "password hasher" design comes in. Also known as "stateless" or "deterministic" password managers, password hashers are emerging as a convenient solution that could possibly replace traditional password managers as users switch from generic computing platforms to cloud-based infrastructure. We will cover password hashers and the major security challenges they pose in a future article.
Brief items
Security quotes of the week
Also, everyone loves cat videos.
Our evaluation shows that our approach can successfully identify 99.24% of users as opposed to 90.84% for state of the art on single-browser fingerprinting against the same dataset. Further, our approach can achieve higher uniqueness rate than the only cross-browser approach in the literature with similar stability.
New vulnerabilities
bind: denial of service
Package(s): | bind | CVE #(s): | CVE-2017-3135 | ||||||||||||||||||||||||||||||||||||
Created: | February 10, 2017 | Updated: | February 20, 2017 | ||||||||||||||||||||||||||||||||||||
Description: | From the Arch Linux advisory:
A vulnerability has been found in bind < 9.11.0-P3, allowing a remote attacker to trigger an INSIST assertion failure or a NULL pointer read in configurations using both DNS64 and RPZ. A remote unauthenticated attacker can crash a vulnerable server, resulting in denial of service. | ||||||||||||||||||||||||||||||||||||||
Alerts: |
|
bitlbee: denial of service
Package(s): | bitlbee | CVE #(s): | CVE-2017-5668 | ||||||||
Created: | February 9, 2017 | Updated: | February 15, 2017 | ||||||||
Description: | From the bitlbee bug entry:
Receiving a file transfer request from a contact not in the contact list results in a null pointer dereference, leading to remote DoS by malicious remote clients. CVE-2016-10189 has been assigned for this first issue. Additionally, due to an incomplete fix of the issue above in BitlBee 3.5, the bitlbee-libpurple variant is still affected in 3.5. CVE-2017-5668 has been assigned for this second issue. | ||||||||||
Alerts: |
|
gtk-vnc: two vulnerabilities
Package(s): | gtk-vnc | CVE #(s): | CVE-2017-5884 CVE-2017-5885 | ||||||||||||||||
Created: | February 10, 2017 | Updated: | February 21, 2017 | ||||||||||||||||
Description: | From the Red Hat bugzilla entry for CVE-2017-5884:
It was found that gtk-vnc does not properly check boundaries of subrectangle-containing tiles. A malicious server can use this to overwrite parts of the client memory, potentially leading to code execution under privileges of the user running the VNC client. From the Red Hat bugzilla entry for CVE-2017-5885: It was found that vnc_connection_server_message() and vnc_color_map_set() functions do not check for integer overflow properly, leading to a malicious server being able to overwrite parts of the client memory, possibly leading to remote code execution under privileges of user running the VNC client. | ||||||||||||||||||
Alerts: |
|
kdenetwork-kopete: social engineering attacks
Package(s): | kdenetwork-kopete | CVE #(s): | CVE-2017-5593 CVE-2017-5589 | ||||||||
Created: | February 13, 2017 | Updated: | February 20, 2017 | ||||||||
Description: | From the CVE entries:
An incorrect implementation of "XEP-0280: Message Carbons" in multiple XMPP clients allows a remote attacker to impersonate any user, including contacts, in the vulnerable application's display. This allows for various kinds of social engineering attacks. This CVE is for Psi+ (0.16.563.580 - 0.16.571.627). (CVE-2017-5593) An incorrect implementation of "XEP-0280: Message Carbons" in multiple XMPP clients allows a remote attacker to impersonate any user, including contacts, in the vulnerable application's display. This allows for various kinds of social engineering attacks. This CVE is for yaxim and Bruno (0.8.6 - 0.8.8; Android). (CVE-2017-5589) | ||||||||||
Alerts: |
|
kernel: two vulnerabilities
Package(s): | kernel | CVE #(s): | CVE-2017-5897 CVE-2017-5986 | ||||||||
Created: | February 14, 2017 | Updated: | February 15, 2017 | ||||||||
Description: | From the Red Hat bugzilla:
CVE-2017-5986: It was reported that with Linux kernel, earlier than version v4.10-rc8, an application may trigger a BUG_ON in sctp_wait_for_sndbuf if the socket tx buffer is full, a thread is waiting on it to queue more data, and meanwhile another thread peels off the association being used by the first thread. CVE-2017-5897: An issue was found in the Linux kernel ipv6 implementation of GRE tunnels which allows a remote attacker to trigger an out-of-bounds access. At this time we understand no trust barrier has been crossed and there is no security implications in this flaw. | ||||||||||
Alerts: |
|
libevent: three vulnerabilities
Package(s): | libevent | CVE #(s): | CVE-2016-10195 CVE-2016-10196 CVE-2016-10197 | ||||||||
Created: | February 15, 2017 | Updated: | February 15, 2017 | ||||||||
Description: | From the Debian advisory:
Several vulnerabilities were discovered in libevent, an asynchronous event notification library. They would lead to Denial Of Service via application crash, or remote code execution. | ||||||||||
Alerts: |
|
libxml2: denial of service
Package(s): | libxml2 | CVE #(s): | CVE-2016-9597 | ||||
Created: | February 13, 2017 | Updated: | February 15, 2017 | ||||
Description: | From the openSUSE advisory:
* CVE-2016-9597: An XML document with many opening tags could have caused a overflow of the stack not detected by the recursion limits, allowing for DoS (bsc#1017497). | ||||||
Alerts: |
|
lynx: invalid URL parsing
Package(s): | lynx | CVE #(s): | CVE-2016-9179 | ||||||||
Created: | February 15, 2017 | Updated: | February 20, 2017 | ||||||||
Description: | From the CVE entry:
lynx: It was found that Lynx doesn't parse the authority component of the URL correctly when the host name part ends with '?', and could instead be tricked into connecting to a different host. | ||||||||||
Alerts: |
|
mysql: code execution
Package(s): | mysql-5.5 | CVE #(s): | |||||
Created: | February 10, 2017 | Updated: | February 15, 2017 | ||||
Description: | From the Debian-LTS advisory:
It has been found that the C client library for MySQL (libmysqlclient.so) has use-after-free vulnerability which can cause crash of applications using that MySQL client. | ||||||
Alerts: |
|
netpbm: three vulnerabilities
Package(s): | netpbm | CVE #(s): | CVE-2017-2586 CVE-2017-2587 CVE-2017-5849 | ||||||||
Created: | February 14, 2017 | Updated: | February 20, 2017 | ||||||||
Description: | From the Red Hat bugzilla:
CVE-2017-5849: An out of bounds read and write issue was found in netpbm. A maliciously crafted file could cause the application to crash or possibly have other unspecified impact. CVE-2017-2586: A null pointer dereference vulnerability was found in netpbm. A maliciously crafted SVG file could cause the application to crash. CVE-2017-2587: A memory allocation vulnerability was found in netpbm. A maliciously crafted SVG file could cause the application to crash.
| ||||||||||
Alerts: |
|
nova-lxd: access restriction bypass
Package(s): | nova-lxd | CVE #(s): | CVE-2017-5936 | ||||
Created: | February 10, 2017 | Updated: | February 15, 2017 | ||||
Description: | From the Ubuntu advisory:
James Page discovered that Nova-LXD incorrectly set up virtual network devices when creating LXD instances. This could result in an unintended firewall configuration. | ||||||
Alerts: |
|
openssl: information disclosure
Package(s): | openssl | CVE #(s): | CVE-2017-3730 | ||||
Created: | February 14, 2017 | Updated: | February 15, 2017 | ||||
Description: | From the Gentoo advisory:
A remote attacker is able to crash applications linked against OpenSSL or could obtain sensitive private-key information via an attack against the Diffie-Hellman (DH) ciphersuite. | ||||||
Alerts: |
|
php5: three vulnerabilities
Package(s): | php5 | CVE #(s): | CVE-2014-9912 CVE-2016-7478 CVE-2016-7479 | ||||||||
Created: | February 15, 2017 | Updated: | February 15, 2017 | ||||||||
Description: | From the Ubuntu advisory:
It was discovered that PHP incorrectly handled certain arguments to the locale_get_display_name function. A remote attacker could use this issue to cause PHP to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2014-9912) It was discovered that PHP incorrectly handled certain invalid objects when unserializing data. A remote attacker could use this issue to cause PHP to hang, resulting in a denial of service. (CVE-2016-7478) It was discovered that PHP incorrectly handled certain invalid objects when unserializing data. A remote attacker could use this issue to cause PHP to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2016-7479) | ||||||||||
Alerts: |
|
quagga: denial of service
Package(s): | quagga | CVE #(s): | CVE-2017-5495 | ||||
Created: | February 10, 2017 | Updated: | February 15, 2017 | ||||
Description: | From the Red Hat bugzilla entry:
A vulnerability was found in quagga. Telnet interface input buffer allocates unbounded amounts of memory which leads to Denial-of-service. | ||||||
Alerts: |
|
redis: two vulnerabilities
Package(s): | redis | CVE #(s): | |||||
Created: | February 9, 2017 | Updated: | February 15, 2017 | ||||
Description: | From the Redis advisory:
As Redis 4.0 beta and the unstable branch already did (for some months at this point), Redis 3.2.7 also aliases the Host: and POST commands to QUIT avoiding to process the remaining pipeline if there are pending commands. This is a security protection against a "Cross Scripting" attack, that usually involves trying to feed Redis with HTTP in order to execute commands. Example: a developer is running a local copy of Redis for development purposes. She also runs a web browser in the same computer. The web browser could send an HTTP request to http://127.0.0.1:6379 in order to access the Redis instance, since a specially crafted HTTP requesta may also be partially valid Redis protocol. However if POST and Host: break the connection, this problem should be avoided. IMPORTANT: It is important to realize that it is not impossible that another way will be found to talk with a localhost Redis using a Cross Protocol attack not involving sending POST or Host: so this is only a layer of protection but not a definitive fix for this class of issues. A ziplist bug that could cause data corruption, could crash the server and MAY ALSO HAVE SECURITY IMPLICATIONS was fixed. The bug looks complex to exploit, but attacks always get worse, never better (cit). The bug is very very hard to catch in practice, it required manual analysis of the ziplist code in order to be found. However it is also possible that rarely it happened in the wild. Upgrading is required if you use LINSERT and other in-the-middle list manipulation commands. | ||||||
Alerts: |
|
tigervnc: denial of service
Package(s): | tigervnc | CVE #(s): | CVE-2016-10207 | ||||
Created: | February 13, 2017 | Updated: | February 15, 2017 | ||||
Description: | From the openSUSE advisory:
Prevent crash caused by failed TLS connection (bnc#1023012) | ||||||
Alerts: |
|
tomcat: denial of service
Package(s): | tomcat7 tomcat8 | CVE #(s): | |||||||||||||||||||||
Created: | February 14, 2017 | Updated: | February 22, 2017 | ||||||||||||||||||||
Description: | From the Debian advisory:
It was discovered that a programming error in the processing of HTTPS requests in the Apache Tomcat servlet and JSP engine may result in denial of service via an infinite loop. | ||||||||||||||||||||||
Alerts: |
|
viewvc: cross-site scripting
Package(s): | viewvc | CVE #(s): | CVE-2017-5938 | ||||||||||||||||||||
Created: | February 9, 2017 | Updated: | February 20, 2017 | ||||||||||||||||||||
Description: | From the Debian advisory:
Thomas Gerbet discovered that viewvc, a web interface for CVS and Subversion repositories, did not properly sanitize user input. This problem resulted in a potential Cross-Site Scripting vulnerability. | ||||||||||||||||||||||
Alerts: |
|
vim: buffer overflow
Package(s): | vim | CVE #(s): | CVE-2017-5953 | ||||||||||||||||||||||||
Created: | February 13, 2017 | Updated: | February 20, 2017 | ||||||||||||||||||||||||
Description: | From the CVE entry:
vim before patch 8.0.0322 does not properly validate values for tree length when handling a spell file, which may result in an integer overflow at a memory allocation site and a resultant buffer overflow. | ||||||||||||||||||||||||||
Alerts: |
|
webkit2gtk: multiple vulnerabilities
Package(s): | webkit2gtk | CVE #(s): | CVE-2017-2350 CVE-2017-2354 CVE-2017-2355 CVE-2017-2356 CVE-2017-2362 CVE-2017-2363 CVE-2017-2364 CVE-2017-2365 CVE-2017-2366 CVE-2017-2369 CVE-2017-2371 CVE-2017-2373 | ||||||||
Created: | February 13, 2017 | Updated: | February 17, 2017 | ||||||||
Description: | From the Arch Linux advisory:
- CVE-2017-2350 (information disclosure): A security issue has been found in WebKitGTK+ before 2.14.4, where processing maliciously crafted web content may exfiltrate data cross- origin. - CVE-2017-2354 (arbitrary code execution): Several memory corruption issues have been found in WebKitGTK+ before 2.14.4, leading to arbitrary code execution while processing maliciously crafted web content. - CVE-2017-2355 (arbitrary code execution): A memory initialization issue has been found in WebKitGTK+ before 2.14.4, leading to arbitrary code execution while processing maliciously crafted web content. - CVE-2017-2356 (arbitrary code execution): Several memory corruption issues have been found in WebKitGTK+ before 2.14.4, leading to arbitrary code execution while processing maliciously crafted web content. - CVE-2017-2362 (arbitrary code execution): Several memory corruption issues have been found in WebKitGTK+ before 2.14.4, leading to arbitrary code execution while processing maliciously crafted web content. - CVE-2017-2363 (information disclosure): Multiple validation issues have been found in the handling of page loading in WebKitGTK+ before 2.14.4, leading to cross-origin data exfiltration while processing maliciously crafted web content. - CVE-2017-2364 (information disclosure): Multiple validation issues have been found in the handling of page loading in WebKitGTK+ before 2.14.4, leading to cross-origin data exfiltration while processing maliciously crafted web content. - CVE-2017-2365 (information disclosure): A validation issue has been found in variable handling in WebKitGTK+ before 2.14.4, leading to cross-origin data exfiltration while processing maliciously crafted web content. - CVE-2017-2366 (arbitrary code execution): Several memory corruption issues have been found in WebKitGTK+ before 2.14.4, leading to arbitrary code execution while processing maliciously crafted web content. - CVE-2017-2369 (arbitrary code execution): Several memory corruption issues have been found in WebKitGTK+ before 2.14.4, leading to arbitrary code execution while processing maliciously crafted web content. - CVE-2017-2371 (access restriction bypass): An issue has been found in the handling of blocking popups in WebKitGTK+ before 2.14.4, allowing a malicious website to open popups. - CVE-2017-2373 (arbitrary code execution): Several memory corruption issues have been found in WebKitGTK+ before 2.14.4, leading to arbitrary code execution while processing maliciously crafted web content. See the WebKitGTK+ Security Advisory WSA-2017-0002 for additional information. | ||||||||||
Alerts: |
|
xen: three vulnerabilities
Package(s): | xen | CVE #(s): | CVE-2017-5525 CVE-2017-5526 CVE-2017-2615 | ||||||||||||
Created: | February 15, 2017 | Updated: | February 21, 2017 | ||||||||||||
Description: | From the Red Hat bugzilla:
CVE-2017-5525: Quick Emulator(Qemu) built with the ac97 audio device emulation support is vulnerable to a memory leakage issue. It could occur while doing a device unplug operation; Doing so repeatedly would result in leaking host memory, affecting other services on the host. A privileged user inside guest could use this flaw to cause a DoS and/or potentially crash the Qemu process on the host. CVE-2017-5526: Quick Emulator(Qemu) built with the ES1370 audio device emulation support is vulnerable to a memory leakage issue. It could occur while doing a device unplug operation; Doing so repeatedly would result in leaking host memory, affecting other services on the host. A privileged user inside guest could use this flaw to cause a DoS and/or potentially crash the Qemu process on the host. CVE-2017-2615: Quick emulator(Qemu) built with the Cirrus CLGD 54xx VGA Emulator support is vulnerable to an out-of-bounds access issue. It could occur while copying VGA data via bitblt copy in backward mode. A privileged user inside guest could use this flaw to crash the Qemu process resulting in DoS OR potentially execute arbitrary code on the host with privileges of Qemu process on the host. | ||||||||||||||
Alerts: |
|
Page editor: Jake Edge
Next page:
Kernel development>>