|
|
Subscribe / Log in / New account

Security

A look at password managers

February 15, 2017

This article was contributed by Antoine Beaupré

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:

Using a single file per item has the advantage of shell completion, using version control, browse, move and rename the items in a file browser, edit them in a regular editor (that does GPG, or manually run GPG first), etc.

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.

Comments (35 posted)

Brief items

Security quotes of the week

At a previous employer we had a policy that all passwords started with "/" because of the sheer number of times someone typed the root password into a public IRC channel.
Michael Still

Anyone can come up with some sort of auth mechanism that they think is cool. Here's one, based on cat videos. When you connect to a site, your browser hashes the URL and uses the LSBs of the hash to select a cat video to play to you. Since a phishing site and the real site will produce different hashes, you see different cat videos and so you'll know it's a phishing site.

Also, everyone loves cat videos.

Peter Gutmann

In this paper, we propose a browser fingerprinting technique that can track users not only within a single browser but also across different browsers on the same machine. Specifically, our approach utilizes many novel OS and hardware level features, such as those from graphics cards, CPU, and installed writing scripts. We extract these features by asking browsers to perform tasks that rely on corresponding OS and hardware functionalities.

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.

Yinzhi Cao, Song Li, and Erik Wijmans [PDF]

Comments (4 posted)

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:
Fedora FEDORA-2017-27099c270a bind 2017-02-19
Ubuntu USN-3201-1 bind9 2017-02-16
Scientific Linux SLSA-2017:0276-1 bind 2017-02-15
Oracle ELSA-2017-0276 bind 2017-02-15
CentOS CESA-2017:0276 bind 2017-02-15
Red Hat RHSA-2017:0276-01 bind 2017-02-15
Fedora FEDORA-2017-2b46c8b6c2 bind 2017-02-14
Slackware SSA:2017-041-01 bind 2017-02-10
Arch Linux ASA-201702-8 bind 2017-02-10

Comments (none posted)

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:
Fedora FEDORA-2017-6694f5cd3a bitlbee 2017-02-09
Fedora FEDORA-2017-deb82f0c0d bitlbee 2017-02-09

Comments (none posted)

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:
Ubuntu USN-3203-1 gtk-vnc 2017-02-20
Debian-LTS DLA-831-1 gtk-vnc 2017-02-20
Mageia MGASA-2017-0057 gtk-vnc 2017-02-20
Fedora FEDORA-2017-ab04a91edd gtk-vnc 2017-02-10

Comments (none posted)

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:
openSUSE openSUSE-SU-2017:0515-1 mcabber 2017-02-20
Arch Linux ASA-201702-11 kdenetwork-kopete 2017-02-12

Comments (none posted)

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:
Fedora FEDORA-2017-92d84f68cf kernel 2017-02-13
Fedora FEDORA-2017-fb89ca752a kernel 2017-02-14

Comments (none posted)

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:
Debian-LTS DLA-824-1 libevent 2017-02-15
Debian DSA-3789-1 libevent 2017-02-15

Comments (none posted)

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:
openSUSE openSUSE-SU-2017:0446-1 libxml2 2017-02-11

Comments (none posted)

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:
Mageia MGASA-2017-0052 lynx 2017-02-20
Fedora FEDORA-2017-c9828b259c lynx 2017-02-14

Comments (none posted)

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:
Debian-LTS DLA-819-2 mysql-5.5 2017-02-10

Comments (none posted)

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:
Mageia MGASA-2017-0058 netpbm 2017-02-20
Fedora FEDORA-2017-1855c8af2c netpbm 2017-02-14

Comments (none posted)

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:
Ubuntu USN-3195-1 nova-lxd 2017-02-10

Comments (none posted)

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:
Gentoo 201702-07 openssl 2017-02-14

Comments (none posted)

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:
SUSE SUSE-SU-2017:0534-1 php7 2017-02-22
Ubuntu USN-3196-1 php5 2017-02-14

Comments (none posted)

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:
Fedora FEDORA-2017-b89a945e9d quagga 2017-02-09

Comments (none posted)

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:
Fedora FEDORA-2017-a1625d5c7b redis 2017-02-09

Comments (none posted)

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:
openSUSE openSUSE-SU-2017:0444-1 tigervnc 2017-02-11

Comments (none posted)

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:
Debian DSA-3788-2 tomcat8 2017-02-22
Debian DSA-3787-2 tomcat7 2017-02-22
Debian-LTS DLA-823-1 tomcat7 2017-02-14
Debian DSA-3788-1 tomcat8 2017-02-13
Debian DSA-3787-1 tomcat7 2017-02-13

Comments (none posted)

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:
Mageia MGASA-2017-0048 viewvc 2017-02-18
Fedora FEDORA-2017-2bce6ed778 viewvc 2017-02-09
Debian-LTS DLA-820-1 viewvc 2017-02-09
Fedora FEDORA-2017-bd3c3c957f viewvc 2017-02-09
Debian DSA-3784-1 viewvc 2017-02-09

Comments (none posted)

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:
openSUSE openSUSE-SU-2017:0511-1 vim 2017-02-19
Arch Linux ASA-201702-13 vim 2017-02-15
Arch Linux ASA-201702-12 gvim 2017-02-15
Fedora FEDORA-2017-595fec72ef vim 2017-02-14
Debian DSA-3786-1 vim 2017-02-13
Debian-LTS DLA-822-1 vim 2017-02-13

Comments (none posted)

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:
Ubuntu USN-3200-1 webkit2gtk 2017-02-16
Arch Linux ASA-201702-9 webkit2gtk 2017-02-11

Comments (none posted)

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:
Gentoo 201702-27 xen 2017-02-21
Gentoo 201702-28 qemu 2017-02-21
Fedora FEDORA-2017-cdb53b04e0 xen 2017-02-14

Comments (none posted)

Page editor: Jake Edge
Next page: Kernel development>>


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds