|
|
Subscribe / Log in / New account

Security

SCALE: The Hockeypuck key server

By Nathan Willis
March 13, 2013

At SCALE 11x in Los Angeles, Gazzang's Casey Marshall presented his work developing Hockeypuck, an alternative public PGP keyserver. Although the company developed Hockeypuck to support one of its own products, the AGPL-licensed server is capable of running a standalone key service, and is compatible with Synchronizing Key Server (SKS), the tool used by almost all public key services.

Keyservers are a critical component in the public key infrastructure (PKI), even though they rarely attract significant attention. They enable PGP-aware client applications to search for and retrieve users' public keys, which is what enables parties to encrypt messages to one another without prior agreement. In addition to sender's and recipient's keys, PGP relies on a "web of trust" built up by verifiable signatures from other PGP keys. Aside from secure private email, PGP encryption is also used in an increasing number of other tasks, such as verifying software package signatures. Marshall observed that this system is in essence a globally distributed social network; the Internet's keyservers share identities in a distributed fashion across a truly global pool. Because keyservers distribute the load and can synchronize, it is very hard for an attacker to tamper with or otherwise undermine the keys.

SKS is by far the most commonly used keyserver, Marshall said, and it offers a powerful set of features. It uses an efficient "set reconciliation" algorithm to keep the global database of keys in sync between remote peers, and it uses Berkeley DB for data storage. Although there is an older, email-based protocol for querying and retrieving keys, SKS is built around the HTTP Keyserver Protocol (HKP), which Marshall described as being RESTful before REST was popular.

Enter Hockeypuck

Marshall got into keyserver development while working on a Gazzang product called zTrustee. The product is a closed source storage service that uses OpenPGP keys to encrypt data. Because the service relies on generating and storing separate keys for separate objects, it quite naturally processes keys in heavy volume, which is not the typical workload for a keyserver. The company has been using SKS to distribute keys to clients, he said, but SKS is very write-heavy, and under sufficient load it was found to cause unacceptable delays.

Hoping to improve on the situation, Marshall started writing Hockeypuck. It is not yet ready to replace SKS in zTrustee, but interested developers can test it out. The project is hosted at Launchpad.net and mirrored on Github. Binary packages are already available for Ubuntu 13.04, and there is a publicly accessible instance of the server running at hockeypuck.gazzang.net. GPG users can query the server by supplying it as a command line switch, for example:

     gpg --keyserver hockeypuck.gazzang.net --search-keys Santa

The public server's web interface presents a minimalist "Google-style" search page (which, as he pointed out, includes an "I'm Feeling Lucky" button that is not really intended for serious usage). Hockeypuck does not participate in the global set reconciliation algorithm of the SKS keyservers, but the public server was initialized with a dump file provided by an SKS server six months ago, so it contains a significant subset of the total global key pool.

Hockeypuck is written in Go, which Marshall said he selected for several reasons. Its simplicity and modularity make it fun to write in, he said, but it also offers useful features and high-performance message passing. The wide assortment of libraries available included an OpenPGP implementation, which he used, although he noted that there are not many OpenPGP implementations to choose from—most PGP development takes the form of additional services built on top a small set of OpenPGP stacks.

Lessons learned

At the moment, Hockeypuck uses MongoDB for storage; Marshall said he would be adding PostgreSQL support next, and perhaps other database connectors later. The server architecture is fairly straightforward, he said. A separate goroutine handles each HTTP request, opening a channel to a worker that queries the database. Scaling the system could be as simple as running one worker per CPU, or more sophisticated techniques could be employed depending on the database backend.

Indeed, Marshall said, the choice of MongoDB has come with its share of problems. It was easy to develop with, he said; Go even has a library for it. "You give it a struct, and you get a struct back." But not being a real relational database imposes limitations, starting with the fact that you cannot index something just because you want to. The Hockeypuck database is indexed on the uid field (which contains names and email addresses), thus it cannot also run searches on other fields (like key-ID); a truly full-text search is not possible. He also found it necessary to reverse the order of key fingerprints, placing the shorter key-ID at the beginning of the record so that it can be read and searched faster. Maintaining performance has also been tricky, he said; loading data into MongoDB is very quick, but updates must be aggregated for write efficiency. Ultimately, he concluded, MongoDB makes it very easy to write database applications, but it shifts more work onto configuration and deployment.

Maintaining the public Hockeypuck server has also imparted its share of lessons, he said. For example, an unknown user downloaded Marshall's own key, added new email addresses as uid fields, then re-uploaded the key to the server. An OpenPGP client application would not have been fooled by the deception because the grafted-on fields were not signed by the primary key, but the incident pointed out to Marshall that Hockeypuck needed to do its part as well. He quickly added code that checked the signatures on uploads, and reloaded the SKS key database just to be on the safe side. Technically, he observed, keyservers themselves are not meant to be trusted entities—the keys are designed to be verified or rejected cryptographically—but maintaining a tidy and valid database is important too.

Keys to the future

Hockeypuck's key loading is quite fast already, Marshall said; it can load about two million keys in 24 hours. Queries, in turn, are "reasonably fast," and the database appears to be the bottleneck. But apart from increasing performance, he has several other important items on his to-do list. For example, one improvement is support for OpenPGP version 3 signatures. Version 4 signatures are the standard today, but version 3 signatures can still be found in the wild.

A far bigger task (which Marshall regards as the missing "killer feature") is implementing the SKS reconciliation algorithm. This will allow Hockeypuck to interoperate with the global pool of public keys. He has started work on an implementation of the algorithm (that he named conflux), which he hopes will be general-purpose enough to serve as a synchronization library outside of the keyserver itself. Conflux is "getting there," he said; the mathematical portions are passing unit tests, but he still has work to do on the network protocol itself.

Further down the line, he speculated that Hockeypuck could serve as an SSH keyserver as well, and perhaps work with other authentication schemes like Password Authenticated Key Exchange by Juggling (J-PAKE) or convergence.io.

Trust stuff

Despite the fact that Hockeypuck "competes" with SKS, Marshall said he has found the SKS community to be very friendly, and many were excited to hear about Hockeypuck and its implementation of the set reconciliation algorithm. An independent implementation of the feature is good news for any project, but especially for infrastructure projects like SKS, because the "web of trust" that it implements is so crucial.

Marshall concluded his talk by asking attendees to examine the web of trust and how it functions. We trust different identity credentials for very different reasons, he said: we trust PGP keys because of either the signatures of other PGP users or our participation in key-signing events; we trust SSH keys because they are the same key we encountered the first time we connected; we trust SSL/TLS certificates because they contain a signature from a certificate authority that our browser trusts. Our trust will have a stronger foundation if it includes multiple factors, he said; perhaps, for example, PGP keys need to incorporate notions of identity beyond email addresses alone.

Keyservers could also play a role in advancing the conversation about identity management, he suggested. As he noted at the beginning of the session, the SKS global key pool has functioned as a decentralized social network for years—perhaps there are ways to leverage it, such as linking PGP keys to OpenID or OAuth accounts, or to make SSH user authentication as widely accepted as SSH host authentication already is.

Of course, PGP is still in use by just a fraction of global email users; its critics have long argued that public key encryption and the PKI are too complicated for mass appeal. That is a difficult claim to prove, particularly since it is hard to disentangle the ideas of PKI from its client software implementations. But even for those who understand and use PGP on a regular basis, the accidental monoculture of SKS keyservers poses its own potential risks. Hockeypuck might never overtake SKS in popularity, but by offering an additional choice and by shining new light on HKP and other factors, it may strengthen critical pieces of PKI anyway.

Comments (none posted)

Brief items

Security quotes of the week

Electronic devices often retain sensitive and confidential information far beyond the perceived point of erasure, notably in the form of browsing histories and records of deleted files. This quality makes it impractical, if not impossible, for individuals to make meaningful decisions regarding what digital content to expose to the scrutiny that accompanies international travel. A person's digital life ought not be hijacked simply by crossing a border. When packing traditional luggage, one is accustomed to deciding what papers to take and what to leave behind. When carrying a laptop, tablet or other device, however, removing files unnecessary to an impending trip is an impractical solution given the volume and often intermingled nature of the files. It is also a time-consuming task that may not even effectively erase the files.
-- US 9th Circuit Appeals Court rules that border searches of electronic devices are subject to the Constitution (as reported by Techdirt)

[Abdelrahman] Desoky suggests that instead of using a humdrum text document and modifying it in a codified way to embed a secret message, correspondents could use a joke to hide their true meaning. As such, he has developed an Automatic Joke Generation Based Steganography Methodology (Jokestega) that takes advantage of recent software that can automatically write pun-type jokes using large dictionary databases. Among the automatic joke generators available are: The MIT Project, Chuck Norris Joke Generator, Jokes2000, The Joke Generator dot Com and the Online Joke Generator System (pickuplinegen).
-- Science Daily

It is best that the surveillance system be challenged and dismantled before it becomes comprehensive; once every person is tracked all the time it will be far harder to do so, especially as audio surveillance also expands. Once everyone is both tracked and listened to, it will be virtually impossible to organize resistance.

The comprehensive surveillance state, combined with measures to deal with the loyalty of the enforcer class, is the end game: it is where current trends lead. It will be justified to the public as a measure to decrease crime and protect innocents (especially children), but it will lead to a more advanced Stasi state.

-- Ian Welsh

Researchers successfully demonstrated new security vulnerabilities in all three browsers tested - Firefox, Chrome and IE. At the conclusion of the event we received technical details about the exploit so we could issue a fix.

We received the technical details on Wednesday evening and within less than 24 hours diagnosed the issue, built a patch, validated the fix and the resulting builds, and deployed the patch to users. Our fast turn around time on this security issue is a reflection of the priority and focus we place on security. Security is more than a side item for us, it's part of our core principles.

-- Michael Coates of Mozilla on the outcome of the Pwn2Own competition

Comments (none posted)

New vulnerabilities

389-ds-base: denial of service

Package(s):389-ds-base CVE #(s):CVE-2013-0312
Created:March 12, 2013 Updated:March 13, 2013
Description: From the Red Hat advisory:

A flaw was found in the way LDAPv3 control data was handled by 389 Directory Server. If a malicious user were able to bind to the directory (even anonymously) and send an LDAP request containing crafted LDAPv3 control data, they could cause the server to crash, denying service to the directory.

Alerts:
Scientific Linux SL-389--20130312 389-ds-base 2013-03-12
Oracle ELSA-2013-0628 389-ds-base 2013-03-11
CentOS CESA-2013:0628 389-ds-base 2013-03-12
Red Hat RHSA-2013:0628-01 389-ds-base 2013-03-11

Comments (none posted)

crypto-utils: symlink attack

Package(s):crypto-utils CVE #(s):CVE-2012-3504
Created:March 11, 2013 Updated:March 13, 2013
Description: From the CVE entry:

The nssconfigFound function in genkey.pl in crypto-utils 2.4.1-34 allows local users to overwrite arbitrary files via a symlink attack on the "list" file in the current working directory.

Alerts:
Fedora FEDORA-2013-3259 crypto-utils 2013-03-11
Fedora FEDORA-2013-3253 crypto-utils 2013-03-11

Comments (none posted)

gksu-polkit: root privilege escalation

Package(s):gksu-polkit CVE #(s):CVE-2012-5617
Created:March 7, 2013 Updated:August 5, 2013
Description:

From the Red Hat Bugzilla entry:

Miroslav Trmac reported that gksu-polkit ships with an extremely permissive PolicyKit policy configuration file. Because gksu-polkit allows a user to execute a program with administrative privileges, and because the default allow_active setting is "auth_self" rather than "auth_admin", any local user can use gksu-polkit to execute arbitrary programs (like a bash shell) with root privileges.

Alerts:
Fedora FEDORA-2013-13616 gksu-polkit 2013-08-04
Fedora FEDORA-2013-13620 gksu-polkit 2013-08-04
Fedora FEDORA-2013-3032 gksu-polkit 2013-03-06

Comments (none posted)

kernel: multiple vulnerabilities

Package(s):kernel CVE #(s):CVE-2013-1828 CVE-2013-1792 CVE-2013-1825
Created:March 11, 2013 Updated:July 12, 2013
Description: From the Red Hat bugzilla [1], [2], [3]:

A local user could use the missing size check in sctp_getsockopt_assoc_stats() function to escalate their privileges. On x86 this might be mitigated by destination object size check as the destination size is known at compile time.

A race condition leading to a NULL pointer dereference is discovered in the Linux kernel. It occurs during parallel invocation of install_user_keyrings & lookup_user_key routines.

Linux kernels built with crypto user APIs are vulnerable to the information disclosure flaw. It occurs when user calls the `crypto_*_report' APIs via netlink based crypto API interface.

A privileged user/program (CAP_NET_ADMIN) could use this flaw to read kernel memory area.

Alerts:
openSUSE openSUSE-SU-2014:0204-1 kernel 2014-02-06
Oracle ELSA-2013-1645 kernel 2013-11-26
openSUSE openSUSE-SU-2013:1187-1 kernel 2013-07-12
Mandriva MDVSA-2013:176 kernel 2013-06-24
Oracle ELSA-2013-2525 kernel 2013-06-13
Oracle ELSA-2013-2525 kernel 2013-06-13
Red Hat RHSA-2013:0829-01 kernel-rt 2013-05-20
Mageia MGASA-2013-01451 kernel-vserver 2013-05-17
Mageia MGASA-2013-0150 kernel-rt 2013-05-17
Mageia MGASA-2013-0149 kernel-tmb 2013-05-17
Mageia MGASA-2013-0148 kernel-linus 2013-05-17
Mageia MGASA-2013-0147 kernel 2013-05-17
Debian DSA-2668-1 linux-2.6 2013-05-14
SUSE SUSE-SU-2013:0786-1 Linux kernel 2013-05-14
Oracle ELSA-2013-2523 kernel 2013-05-10
Oracle ELSA-2013-2523 kernel 2013-05-10
SUSE SUSE-SU-2013:0759-2 Linux kernel 2013-05-08
SUSE SUSE-SU-2013:0759-1 Linux kernel 2013-05-07
Oracle ELSA-2013-2520 kernel-2.6.32 2013-04-25
Oracle ELSA-2013-2520 kernel-2.6.32 2013-04-25
Oracle ELSA-2013-2519 kernel-2.6.39 2013-04-25
Oracle ELSA-2013-2519 kernel-2.6.39 2013-04-25
Oracle ELSA-2013-0744 kernel 2013-04-24
Scientific Linux SL-kern-20130424 kernel 2013-04-24
CentOS CESA-2013:0744 kernel 2013-04-24
Red Hat RHSA-2013:0744-01 kernel 2013-04-23
Ubuntu USN-1798-1 linux-ec2 2013-04-08
Ubuntu USN-1795-1 linux-lts-quantal 2013-04-08
Ubuntu USN-1797-1 linux-ti-omap4 2013-04-08
Ubuntu USN-1794-1 linux-ti-omap4 2013-04-08
Ubuntu USN-1796-1 linux 2013-04-08
Ubuntu USN-1787-1 linux 2013-04-02
Fedora FEDORA-2013-3909 kernel 2013-03-22
Fedora FEDORA-2013-3630 kernel 2013-03-11
Ubuntu USN-1793-1 linux 2013-04-08
Ubuntu USN-1792-1 linux 2013-04-08
Ubuntu USN-1788-1 linux-lts-backport-oneiric 2013-04-03

Comments (none posted)

kernel: denial of service

Package(s):kernel CVE #(s):CVE-2013-1772
Created:March 7, 2013 Updated:July 12, 2013
Description:

From the Red Hat advisory:

A flaw was found in the way file permission checks for the "/dev/kmsg" file were performed in restricted root environments (for example, when using a capability-based security model). A local user able to write to this file could cause a denial of service. (CVE-2013-1772, Low)

Alerts:
openSUSE openSUSE-SU-2013:1187-1 kernel 2013-07-12
Oracle ELSA-2013-2546 enterprise kernel 2013-09-17
Oracle ELSA-2013-2546 enterprise kernel 2013-09-17
SUSE SUSE-SU-2013:0786-1 Linux kernel 2013-05-14
SUSE SUSE-SU-2013:0759-2 Linux kernel 2013-05-08
SUSE SUSE-SU-2013:0759-1 Linux kernel 2013-05-07
Red Hat RHSA-2013:0566-01 kernel-rt 2013-03-06

Comments (none posted)

krb5: denial of service

Package(s):krb5 CVE #(s):CVE-2013-1415
Created:March 11, 2013 Updated:March 25, 2013
Description: From the CVE entry:

The pkinit_check_kdc_pkid function in plugins/preauth/pkinit/pkinit_crypto_openssl.c in the PKINIT implementation in the Key Distribution Center (KDC) in MIT Kerberos 5 (aka krb5) before 1.10.4 and 1.11.x before 1.11.1 does not properly handle errors during extraction of fields from an X.509 certificate, which allows remote attackers to cause a denial of service (NULL pointer dereference and daemon crash) via a malformed KRB5_PADATA_PK_AS_REQ AS-REQ request.

Alerts:
Ubuntu USN-2310-1 krb5 2014-08-11
Mandriva MDVSA-2013:157 krb5 2013-04-30
Mandriva MDVSA-2013:042 krb5 2013-04-05
openSUSE openSUSE-SU-2013:0523-1 krb5 2013-03-22
Fedora FEDORA-2013-3147 krb5 2013-03-22
openSUSE openSUSE-SU-2013:0498-1 krb5 2013-03-20
Oracle ELSA-2013-0656 krb5 2013-03-18
CentOS CESA-2013:0656 krb5 2013-03-18
Scientific Linux SL-krb5-20130318 krb5 2013-03-18
Red Hat RHSA-2013:0656-01 krb5 2013-03-18
Fedora FEDORA-2013-3116 krb5 2013-03-16
Mageia MGASA-2013-0087 krb5 2013-03-09

Comments (none posted)

libproxy: format string flaw

Package(s):libproxy CVE #(s):CVE-2012-5580
Created:March 11, 2013 Updated:March 13, 2013
Description: From the Red Hat bugzilla:

A format string flaw was reported in libproxy's proxy commandline tool (bin/proxy). This was corrected upstream and is included in the 0.4.0 release.

Alerts:
Fedora FEDORA-2012-20092 libproxy 2013-03-10

Comments (none posted)

MRG Grid: denial of service

Package(s):MRG Grid CVE #(s):CVE-2012-4462
Created:March 7, 2013 Updated:March 13, 2013
Description:

From the Red Hat advisory:

It was found that attempting to remove a job via "/usr/share/condor/aviary/jobcontrol.py" with CPROC in square brackets caused condor_schedd to crash. If aviary_query_server was configured to listen to public interfaces, this could allow a remote attacker to cause a denial of service condition in condor_schedd. While condor_schedd was restarted by the condor_master process after each exit, condor_master would throttle back restarts after each crash. This would slowly increment to the defined MASTER_BACKOFF_CEILING value (3600 seconds/1 hour, by default). (CVE-2012-4462)

Alerts:
Red Hat RHSA-2013:0565-01 MRG Grid 2013-03-06
Red Hat RHSA-2013:0564-01 MRG Grid 2013-03-06

Comments (none posted)

MRG Messaging: multiple vulnerabilities

Package(s):MRG Messaging CVE #(s):CVE-2012-4446 CVE-2012-4458 CVE-2012-4459
Created:March 7, 2013 Updated:March 13, 2013
Description:

From the Red Hat advisory:

It was found that the Apache Qpid daemon (qpidd) treated AMQP connections with the federation_tag attribute set as a broker-to-broker connection, rather than a client-to-server connection. This resulted in the source user ID of messages not being checked. A client that can establish an AMQP connection with the broker could use this flaw to bypass intended authentication. For Condor users, if condor-aviary is installed, this flaw could be used to submit jobs that would run as any user (except root, as Condor does not run jobs as root). (CVE-2012-4446)

It was found that the AMQP type decoder in qpidd allowed arbitrary data types in certain messages. A remote attacker could use this flaw to send a message containing an excessively large amount of data, causing qpidd to allocate a large amount of memory. qpidd would then be killed by the Out of Memory killer (denial of service). (CVE-2012-4458)

An integer overflow flaw, leading to an out-of-bounds read, was found in the Qpid qpid::framing::Buffer::checkAvailable() function. An unauthenticated, remote attacker could send a specially-crafted message to Qpid, causing it to crash. (CVE-2012-4459)

Alerts:
Red Hat RHSA-2013:0562-01 MRG Messaging 2013-03-06
Red Hat RHSA-2013:0561-01 MRG Messaging 2013-03-06

Comments (none posted)

openshift: multiple vulnerabilities

Package(s):openshift CVE #(s):CVE-2013-0327 CVE-2013-0328 CVE-2013-0329 CVE-2013-0330 CVE-2013-0331
Created:March 13, 2013 Updated:March 13, 2013
Description: From the Red Hat advisory:

It was found that Jenkins did not protect against Cross-Site Request Forgery (CSRF) attacks. If a remote attacker could trick a user, who was logged into Jenkins, into visiting a specially-crafted URL, the attacker could perform operations on Jenkins. (CVE-2013-0327, CVE-2013-0329)

A cross-site scripting (XSS) flaw was found in Jenkins. A remote attacker could use this flaw to conduct an XSS attack against users of Jenkins. (CVE-2013-0328)

A flaw could allow a Jenkins user to build jobs they do not have access to. (CVE-2013-0330)

A flaw could allow a Jenkins user to cause a denial of service if they are able to supply a specially-crafted payload. (CVE-2013-0331)

Alerts:
Red Hat RHSA-2013:0638-01 openshift 2013-03-12

Comments (none posted)

openssh: information disclosure

Package(s):openssh CVE #(s):CVE-2012-0814
Created:March 13, 2013 Updated:March 13, 2013
Description: From the CVE entry:

The auth_parse_options function in auth-options.c in sshd in OpenSSH before 5.7 provides debug messages containing authorized_keys command options, which allows remote authenticated users to obtain potentially sensitive information by reading these messages, as demonstrated by the shared user account required by Gitolite. NOTE: this can cross privilege boundaries because a user account may intentionally have no shell or filesystem access, and therefore may have no supported way to read an authorized_keys file in its own home directory.

Alerts:
Gentoo 201405-06 openssh 2014-05-11
Mandriva MDVSA-2013:022 openssh 2013-03-13

Comments (none posted)

perl: denial of service

Package(s):perl CVE #(s):CVE-2013-1667
Created:March 11, 2013 Updated:April 3, 2013
Description: From the Debian advisory:

Yves Orton discovered a flaw in the rehashing code of Perl. This flaw could be exploited to carry out a denial of service attack against code that uses arbitrary user input as hash keys. Specifically an attacker could create a set of keys of a hash causing a denial of service via memory exhaustion.

Alerts:
Gentoo 201401-11 perl 2014-01-19
Mandriva MDVSA-2013:113 perl 2013-04-10
Fedora FEDORA-2013-3673 perl 2013-04-03
Scientific Linux SL-perl-20130327 perl 2013-03-27
Oracle ELSA-2013-0685 perl 2013-03-27
Oracle ELSA-2013-0685 perl 2013-03-26
CentOS CESA-2013:0685 perl 2013-03-26
CentOS CESA-2013:0685 perl 2013-03-26
Red Hat RHSA-2013:0685-01 perl 2013-03-26
Fedora FEDORA-2013-3436 perl 2013-03-22
Debian DSA-2641-2 libapache2-mod-perl2 2013-03-20
openSUSE openSUSE-SU-2013:0502-1 perl 2013-03-20
openSUSE openSUSE-SU-2013:0497-1 perl 2013-03-20
Ubuntu USN-1770-1 perl 2013-03-19
Mageia MGASA-2013-0094 perl 2013-03-16
Slackware SSA:2013-072-01 perl 2013-03-13
SUSE SUSE-SU-2013:0442-1 Perl 2013-03-13
SUSE SUSE-SU-2013:0441-1 Perl 2013-03-13
Debian DSA-2641-1 perl 2013-03-09

Comments (none posted)

puppet: multiple vulnerabilities

Package(s):puppet CVE #(s):CVE-2013-1640 CVE-2013-1652 CVE-2013-1653 CVE-2013-1654 CVE-2013-1655 CVE-2013-2274 CVE-2013-2275
Created:March 13, 2013 Updated:August 2, 2013
Description: From the Debian advisory:

CVE-2013-1640: An authenticated malicious client may request its catalog from the puppet master, and cause the puppet master to execute arbitrary code. The puppet master must be made to invoke the `template` or `inline_template` functions during catalog compilation.

CVE-2013-1652: An authenticated malicious client may retrieve catalogs from the puppet master that it is not authorized to access. Given a valid certificate and private key, it is possible to construct an HTTP GET request that will return a catalog for an arbitrary client.

CVE-2013-1653: An authenticated malicious client may execute arbitrary code on Puppet agents that accept kick connections. Puppet agents are not vulnerable in their default configuration. However, if the Puppet agent is configured to listen for incoming connections, e.g. listen = true, and the agent's auth.conf allows access to the `run` REST endpoint, then an authenticated client can construct an HTTP PUT request to execute arbitrary code on the agent. This issue is made worse by the fact that puppet agents typically run as root.

CVE-2013-1654: A bug in Puppet allows SSL connections to be downgraded to SSLv2, which is known to contain design flaw weaknesses This affects SSL connections between puppet agents and master, as well as connections that puppet agents make to third party servers that accept SSLv2 connections. Note that SSLv2 is disabled since OpenSSL 1.0.

CVE-2013-1655: An unauthenticated malicious client may send requests to the puppet master, and have the master load code in an unsafe manner. It only affects users whose puppet masters are running ruby 1.9.3 and above.

CVE-2013-2274: An authenticated malicious client may execute arbitrary code on the puppet master in its default configuration. Given a valid certificate and private key, a client can construct an HTTP PUT request that is authorized to save the client's own report, but the request will actually cause the puppet master to execute arbitrary code.

CVE-2013-2275: The default auth.conf allows an authenticated node to submit a report for any other node, which is a problem for compliance. It has been made more restrictive by default so that a node is only allowed to save its own report.

Alerts:
Gentoo 201308-04 puppet 2013-08-23
Fedora FEDORA-2013-3935 puppet 2013-08-02
openSUSE openSUSE-SU-2013:0641-1 puppet 2013-04-08
Fedora FEDORA-2013-4187 puppet 2013-03-30
Ubuntu USN-1759-1 puppet 2013-03-12
Debian DSA-2643-1 puppet 2013-03-12
Red Hat RHSA-2013:0710-01 puppet 2013-04-04
SUSE SUSE-SU-2013:0618-1 puppet 2013-04-03

Comments (none posted)

ruby: denial of service

Package(s):ruby CVE #(s):CVE-2013-1821
Created:March 8, 2013 Updated:April 4, 2013
Description:

From the Red Hat advisory:

It was discovered that Ruby's REXML library did not properly restrict XML entity expansion. An attacker could use this flaw to cause a denial of service by tricking a Ruby application using REXML to read text nodes from specially-crafted XML content, which will result in REXML consuming large amounts of system memory.

Alerts:
Gentoo 201412-27 ruby 2014-12-13
Debian DSA-2809-1 ruby1.8 2013-12-04
Debian DSA-2738-1 ruby1.9.1 2013-08-18
Mandriva MDVSA-2013:124 ruby 2013-04-10
openSUSE openSUSE-SU-2013:0614-1 ruby 2013-04-03
openSUSE openSUSE-SU-2013:0603-1 ruby 2013-04-03
Ubuntu USN-1780-1 ruby1.8, ruby1.9.1 2013-03-25
Slackware SSA:2013-075-01 ruby 2013-03-16
Mageia MGASA-2013-0092 ruby 2013-03-16
CentOS CESA-2013:0612 ruby 2013-03-09
Oracle ELSA-2013-0611 ruby 2013-03-08
CentOS CESA-2013:0611 ruby 2013-03-08
Scientific Linux SL-ruby-20130307 ruby 2013-03-07
CentOS CESA-2013:0611 ruby 2013-03-08
Red Hat RHSA-2013:0612-01 ruby 2013-03-07
Red Hat RHSA-2013:0611-01 ruby 2013-03-07

Comments (none posted)

vdsm: insecure node image

Package(s):vdsm CVE #(s):CVE-2012-5518
Created:March 12, 2013 Updated:March 13, 2013
Description: From the Red Hat bugzilla:

When new node image is being created, vdsm.rpm is added to the node image and self-signed key (and certificate) is created. This key/cert allows vdsm to start and serve requests from anyone who has a matching key/cert which could be anybody holding the node image.

Upstream fix:
http://gerrit.ovirt.org/#/c/8368/

Alerts:
Fedora FEDORA-2013-0210 vdsm 2013-03-12

Comments (none posted)

xulrunner: code execution

Package(s):xulrunner CVE #(s):CVE-2013-0787
Created:March 8, 2013 Updated:June 3, 2013
Description:

From the Mozilla advisory:

VUPEN Security, via TippingPoint's Zero Day Initiative, reported a use-after-free within the HTML editor when content script is run by the document.execCommand() function while internal editor operations are occurring. This could allow for arbitrary code execution.

Alerts:
openSUSE openSUSE-SU-2014:1100-1 Firefox 2014-09-09
Gentoo 201309-23 firefox 2013-09-27
Debian DSA-2699-1 iceweasel 2013-06-02
Mageia MGASA-2013-0120 iceape 2013-04-18
Mageia MGASA-2013-0093 firefox, thunderbird 2013-03-16
SUSE SUSE-SU-2013:0471-1 Mozilla Firefox 2013-03-15
SUSE SUSE-SU-2013:0470-1 Mozilla Firefox 2013-03-15
openSUSE openSUSE-SU-2013:0466-1 xulrunner 2013-03-15
openSUSE openSUSE-SU-2013:0468-1 seamonkey 2013-03-15
openSUSE openSUSE-SU-2013:0465-1 MozillaThunderbird 2013-03-15
openSUSE openSUSE-SU-2013:0467-1 MozillaFirefox 2013-03-15
Fedora FEDORA-2013-3696 xulrunner 2013-03-15
Fedora FEDORA-2013-3696 thunderbird 2013-03-15
Fedora FEDORA-2013-3696 firefox 2013-03-15
Slackware SSA:2013-072-02 seamonkey 2013-03-13
Mandriva MDVSA-2013:024 firefox 2013-03-13
Fedora FEDORA-2013-3718 thunderbird 2013-03-14
Fedora FEDORA-2013-3718 xulrunner 2013-03-14
Fedora FEDORA-2013-3718 firefox 2013-03-14
Ubuntu USN-1758-2 thunderbird 2013-03-12
Scientific Linux SL-thun-20130312 thunderbird 2013-03-12
openSUSE openSUSE-SU-2013:0431-1 Mozilla 2013-03-12
Oracle ELSA-2013-0627 thunderbird 2013-03-11
CentOS CESA-2013:0627 thunderbird 2013-03-12
CentOS CESA-2013:0627 thunderbird 2013-03-12
Red Hat RHSA-2013:0627-01 thunderbird 2013-03-11
CentOS CESA-2013:0614 xulrunner 2013-03-09
Oracle ELSA-2013-0614 xulrunner 2013-03-08
Oracle ELSA-2013-0614 xulrunner 2013-03-08
Ubuntu USN-1758-1 firefox 2013-03-08
CentOS CESA-2013:0614 xulrunner 2013-03-08
Scientific Linux SL-xulr-20130308 xulrunner 2013-03-08
Red Hat RHSA-2013:0614-01 xulrunner 2013-03-08

Comments (none posted)

zfs-fuse: executable stack

Package(s):zfs-fuse CVE #(s):
Created:March 13, 2013 Updated:March 13, 2013
Description: From the Red Hat bugzilla:

Several programs in this package have an executable stack. This makes it susceptible to stack based exploits should another weakness be found in the affected programs:

  • /usr/bin/zdb
  • /usr/bin/zfs
  • /usr/bin/zfs-fuse
  • /usr/bin/zpool
  • /usr/bin/ztest
Alerts:
Fedora FEDORA-2013-3382 zfs-fuse 2013-03-12
Fedora FEDORA-2013-3425 zfs-fuse 2013-03-12

Comments (none posted)

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


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