By Jake Edge
August 15, 2012
Zero-day vulnerabilities (aka zero-days or 0days) are those that have not
been disclosed, so that they could be exploited before systems can be
updated to avoid them. Thus, having a supply of carefully hoarded zero-day
vulnerabilities
can be advantageous for various people and organizations who might want to
attack systems. The market for these zero-days has
been growing for some time, which raises some ethical, and perhaps
political, questions.
A post
to the Electronic Frontier Foundation (EFF) blog back in March was the
jumping off point for a discussion of the issue on the DailyDave
security mailing list recently. The EFF post highlighted the fact that
these vulnerabilities are for sale and that governments are participating
in the market. When vulnerabilities have a market value, there is little
or no impetus to actually report and fix the problems, but those who buy
them are able to protect their systems (and those of their "friends"),
while leaving the rest of the world unprotected. The EFF recommended that the
US government (at least) ensure that these vulnerabilities be reported:
If the U.S. government is serious about securing the Internet, any bill,
directive, or policy related to cybersecurity should work toward ensuring
that vulnerabilities are fixed, and explicitly disallow any clandestine
operations within the government that do not further this
goal. Unfortunately, if these exploits are being bought by governments for
offensive purposes, then there is pressure to selectively harden sensitive
targets while keeping the attack secret from everyone else, leaving
technology—and its users—vulnerable to attack.
In a post about this year's Black Hat security
conference, DailyDave list owner Dave Aitel mentioned the EFF post, noting
that calls for restricting what zero-day owners can do is "giving up freedom for
security". He pointed out that any legislative solution is likely to be
ineffective, but, beyond that, it is a question of freedom. Restricting
the kind of code that can be written, or what can be done with that code,
is not respecting anyone's freedom, he said. He advocated
something of a boycott of EFF until it changes its position.
While there was some sympathy for his view of the EFF in the thread, there
was also
some wider discussion of the implications of zero-day hoarding. Michal
Zalewski noted that the practice makes us
all less safe:
[...] the side effect of governments racing to hoard 0-days and
withhold them from the general public is that this drastically
increases the number of 0-day vulnerabilities that are known and
unpatched at any given time. This makes the Internet statistically
less safe, and gives the government a monopoly in deciding who is
"important enough" to get that information and patch themselves. The
disparity in purchasing power is also troubling, given that
governments have tons of "free money" to spend on defense, and are
eager to do so, outcompeting any other buyers.
But Bas Alberts pointed out that vulnerabilities
are something of a power-leveler between individuals and larger
organizations (like governments):
I would go as far as to say that 0day ownership promotes freedom for the individual,
regardless of who is selling or buying it. That's coincidental. It is one of the
few areas where a sufficiently motivated individual or group of individuals can
find, exploit, and develop an offensive capability that rivals that of a nation
state. It represents a right to bear arms (RAWR!) on the Electronic
Frontier(tm).
The semi-public markets in vulnerabilities may be
relatively new, but using vulnerabilities as commodities is not, as Alberts
describes:
Vulnerabilities and exploits
have always been a commodity ... a commodity of ego, humor and yes *gasp* money.
Exploit developers on both sides of the fence have been commoditizing exploits
for close to 2 decades, if not longer. They've been commoditized as marketing
tools, network tools, performance art, weapons, and political statements ...
regardless of whether they were private or public and regardless of who was
using them.
But the focus on zero-days is somewhat misplaced, according to Ben Nagy. While they may be a
threat, it is not the primary threat to individuals from governments.
There are much simpler ways to compromise a system:
They send
their targets stock malware and say 'please install by clicking on
this photo, love, er... not the government, srsly'. Or, they leverage
the fact that they have physical access to the carrier, the internet
cafes and so forth. (Or probably they just use humint [human intelligence]
cause it's
easier).
Legislation is also something of a slippery slope. For one thing, it will
be difficult
(or impossible) to
enforce, even within a government. But, even if it is only
applied to the US government—as the EFF post seems to
advocate—these kinds of laws have a tendency to grow over time. As
David Maynor put it: "If you apply regulations to one
part of an industry, at some point regulations will seep to every part
like the stench of rotten eggs." He goes on to describe
some—seemingly—unlikely scenarios, but his point is clear: if
government is not "allowed" to possess zero-day exploits, who will be
allowed to?
It is assumed that governments want these kinds of vulnerabilities to
attack other countries (a la Stuxnet). As Nagy pointed
out, there are easier ways to attack individuals. Security firms also want to
stockpile zero-days to protect their customers. There are other reasons to
collect vulnerabilities, though.
There are reports that various folks are stockpiling Linux
vulnerabilities so that they can "root" their mobile phones and other
devices that use it. Presumably, there are iOS fans doing the same
thing. Because some device vendors (Apple is the poster child, but various
Android vendors aren't far behind) try to prevent users from getting root
access, those that want to be able to do what they want with their
devices need to find some kind of vulnerability to do so. That may be a
"freedom-loving" example, but it suffers from many of the same risks that
other types of vulnerability hoarding do.
Zero-day vulnerabilities lose their zero-day status—along with much
of their potency—once they are used, reported, or fixed. Someone
holding a zero-day cannot know that someone else hasn't also discovered the
problem. Any purchased zero-days are certainly known to the seller, at
least, but they could also be sold multiple times. If those
vulnerabilities fall into the "wrong hands" (however defined), they could
be used or disclosed, which makes secrecy paramount in the eyes of the
hoarder.
But if the information is to be used to protect certain systems, it has to
be disseminated to some extent. Meanwhile, those on the outside are
blissfully unaware of a potential problem. It is a tricky problem, but it
is a little hard to see how any kind of legislation is going to "fix" it.
It may, in fact, not really be a solvable problem at all. As various posters in the
thread said, it is tempting to want to legislate against "bad" things, but
when trying to define "bad", the devil is in the details.
Comments (23 posted)
Brief items
There are many remaining mysteries in the Gauss and Flame stories. For instance, how do people get infected with the malware? Or, what is the purpose of the uniquely named “Palida Narrow” font that Gauss installs?
Perhaps the most interesting mystery is Gauss’ encrypted warhead. Gauss contains a module named “Godel” that features an encrypted payload. The malware tries to decrypt this payload using several strings from the system and, upon success, executes it. Despite our best efforts, we were unable to break the encryption. So today we are presenting all the available information about the payload in the hope that someone can find a solution and unlock its secrets. We are asking anyone interested in cryptology and mathematics to join us in solving the mystery and extracting the hidden payload.
--
Kaspersky
Lab asks for decryption help
Starting next week, we will begin taking into account a new signal in our
rankings: the number of valid copyright removal notices we receive for any
given site. Sites with high numbers of removal notices may appear lower in
our results. This ranking change should help users find legitimate, quality
sources of content more easily—whether it’s a song previewed on NPR’s music
website, a TV show on Hulu or new music streamed from Spotify.
--
Google
Comments (16 posted)
Vojtěch Pavlík
explains SUSE's plans for supporting UEFI secure boot on the company's blog. It is similar to the
Fedora approach, but creates its own key database for the shim bootloader to use with UEFI "Boot Services Only Variables". These "Machine Owner Keys" (MOKs) can be updated only during execution of the shim, thus allowing users to update them, but protecting them from overwrite by malware. "
The enrollment process begins by rebooting the machine and interrupting the boot process (e.g., pressing a key) when the shim loads. The shim will then go into enrollment mode, allowing the user to replace the default SUSE key with keys from a file on the boot partition. If the user chooses to do so, the shim will then calculate a hash of that file and put the result in a “Boot Services Only” variable. This allows the shim to detect any change of the file made outside of Boot Services and thus avoid the tampering with the list of user approved MOKs." Matthew Garrett
called it a "
wonderfully elegant solution" and suspects that Fedora will adopt it too.
Comments (60 posted)
New vulnerabilities
bind: memory leak
| Package(s): | bind |
CVE #(s): | CVE-2012-3868
|
| Created: | August 10, 2012 |
Updated: | August 15, 2012 |
| Description: |
From the Red Hat advisory:
BIND 9 tracks incoming queries using a structure called "ns_client". When a query has been answered and the ns_client structure is no longer needed, it is stored on a queue of inactive ns_clients. When a new ns_client is needed to service a new query, the queue is checked to see if any inactive ns_clients are available before a new one is allocated; this speeds up the system by avoiding unnecessary memory allocations and de-allocations. However, when the queue is empty, and one thread inserts an ns_client into it while another thread attempts to remove it, a race bug could cause the ns_client to be lost; since the queue would appear empty in that case, a new ns_client would be allocated from memory. This condition occurred very infrequently with UDP queries but much more frequently under high TCP query loads; over time, the number of allocated but misplaced ns_client objects could grow large enough to affect system performance, and could trigger an automatic shutdown of the named process on systems with an "OOM killer" (out of memory killer) mechanism. |
| Alerts: |
|
Comments (none posted)
bugzilla: information leak
| Package(s): | bugzilla |
CVE #(s): | CVE-2012-1969
|
| Created: | August 13, 2012 |
Updated: | September 5, 2012 |
| Description: |
From the CVE entry:
The get_attachment_link function in Template.pm in Bugzilla 2.x and 3.x before 3.6.10, 3.7.x and 4.0.x before 4.0.7, 4.1.x and 4.2.x before 4.2.2, and 4.3.x before 4.3.2 does not check whether an attachment is private before presenting the attachment description within a public comment, which allows remote attackers to obtain sensitive description information by reading a comment. |
| Alerts: |
|
Comments (none posted)
calligra: code execution
| Package(s): | calligra |
CVE #(s): | CVE-2012-3456
|
| Created: | August 10, 2012 |
Updated: | September 25, 2012 |
| Description: |
From the Ubuntu advisory:
It was discovered that Calligra incorrectly handled certain malformed
MS Word documents. If a user or automated system were tricked into opening
a crafted MS Word file, an attacker could cause a denial of service or
execute arbitrary code with privileges of the user invoking the program. |
| Alerts: |
|
Comments (none posted)
chromium: multiple vulnerabilities
| Package(s): | chromium |
CVE #(s): | CVE-2012-2846
CVE-2012-2847
CVE-2012-2848
CVE-2012-2849
CVE-2012-2853
CVE-2012-2854
CVE-2012-2857
CVE-2012-2858
CVE-2012-2859
CVE-2012-2860
|
| Created: | August 15, 2012 |
Updated: | August 15, 2012 |
| Description: |
From the CVE entries:
Google Chrome before 21.0.1180.57 on Linux does not properly isolate renderer processes, which allows remote attackers to cause a denial of service (cross-process interference) via unspecified vectors. (CVE-2012-2846)
Google Chrome before 21.0.1180.57 on Mac OS X and Linux, and before 21.0.1180.60 on Windows and Chrome Frame, does not request user confirmation before continuing a large series of downloads, which allows user-assisted remote attackers to cause a denial of service (resource consumption) via a crafted web site. (CVE-2012-2847)
The drag-and-drop implementation in Google Chrome before 21.0.1180.57 on Mac OS X and Linux, and before 21.0.1180.60 on Windows and Chrome Frame, allows user-assisted remote attackers to bypass intended file access restrictions via a crafted web site. (CVE-2012-2848)
Off-by-one error in the GIF decoder in Google Chrome before 21.0.1180.57 on Mac OS X and Linux, and before 21.0.1180.60 on Windows and Chrome Frame, allows remote attackers to cause a denial of service (out-of-bounds read) via a crafted image. (CVE-2012-2849)
The webRequest API in Google Chrome before 21.0.1180.57 on Mac OS X and Linux, and before 21.0.1180.60 on Windows and Chrome Frame, does not properly interact with the Chrome Web Store, which allows remote attackers to cause a denial of service or possibly have unspecified other impact via a crafted web site. (CVE-2012-2853)
Google Chrome before 21.0.1180.57 on Mac OS X and Linux, and before 21.0.1180.60 on Windows and Chrome Frame, allows remote attackers to obtain potentially sensitive information about pointer values by leveraging access to a WebUI renderer process. (CVE-2012-2854)
Use-after-free vulnerability in the Cascading Style Sheets (CSS) DOM implementation in Google Chrome before 21.0.1180.57 on Mac OS X and Linux, and before 21.0.1180.60 on Windows and Chrome Frame, allows remote attackers to cause a denial of service or possibly have unspecified other impact via a crafted document. (CVE-2012-2857)
Buffer overflow in the WebP decoder in Google Chrome before 21.0.1180.57 on Mac OS X and Linux, and before 21.0.1180.60 on Windows and Chrome Frame, allows remote attackers to cause a denial of service or possibly have unspecified other impact via a crafted WebP image. (CVE-2012-2858)
Google Chrome before 21.0.1180.57 on Linux does not properly handle tabs, which allows remote attackers to execute arbitrary code or cause a denial of service (application crash) via unspecified vectors. (CVE-2012-2859)
The date-picker implementation in Google Chrome before 21.0.1180.57 on Mac OS X and Linux, and before 21.0.1180.60 on Windows and Chrome Frame, allows user-assisted remote attackers to cause a denial of service or possibly have unspecified other impact via a crafted web site. (CVE-2012-2860) |
| Alerts: |
|
Comments (none posted)
condor: privilege escalation
| Package(s): | condor |
CVE #(s): | CVE-2012-3416
|
| Created: | August 15, 2012 |
Updated: | September 4, 2012 |
| Description: |
From the Red Hat advisory:
Condor installations that rely solely upon host-based authentication were
vulnerable to an attacker who controls an IP, its reverse-DNS entry and has
knowledge of a target site's security configuration. With this control and
knowledge, the attacker could bypass the target site's host-based
authentication and be authorized to perform privileged actions (i.e.
actions requiring ALLOW_ADMINISTRATOR or ALLOW_WRITE). Condor deployments
using host-based authentication that contain no hostnames (IPs or IP globs
only) or use authentication stronger than host-based are not vulnerable. |
| Alerts: |
|
Comments (none posted)
dokuwiki: cross-site scripting
| Package(s): | dokuwiki |
CVE #(s): | CVE-2012-0283
|
| Created: | August 13, 2012 |
Updated: | October 30, 2012 |
| Description: |
From the Mageia advisory:
Cross-site scripting (XSS) vulnerability in the tpl_mediaFileList
function in inc/template.php in DokuWiki before 2012-01-25b allows
remote attackers to inject arbitrary web script or HTML via the ns
parameter in a medialist action to lib/exe/ajax.php |
| Alerts: |
|
Comments (none posted)
kernel: privilege escalation
| Package(s): | linux-ti-omap4 |
CVE #(s): | CVE-2012-3364
CVE-2012-3400
|
| Created: | August 13, 2012 |
Updated: | March 7, 2013 |
| Description: |
From the Ubuntu advisory:
Dan Rosenberg discovered flaws in the Linux kernel's NCI (Near Field
Communication Controller Interface). A remote attacker could exploit these
flaws to crash the system or potentially execute privileged code.
(CVE-2012-3364)
Some errors where discovered in the Linux kernel's UDF file system, which
is used to mount some CD-ROMs and DVDs. An unprivileged local user could
use these flaws to crash the system. (CVE-2012-3400)
|
| Alerts: |
|
Comments (none posted)
koffice: code execution
| Package(s): | koffice |
CVE #(s): | CVE-2012-3455
|
| Created: | August 10, 2012 |
Updated: | August 30, 2012 |
| Description: |
From the Ubuntu advisory:
It was discovered that KOffice incorrectly handled certain malformed
MS Word documents. If a user or automated system were tricked into opening
a crafted MS Word file, an attacker could cause a denial of service or
execute arbitrary code with privileges of the user invoking the program. |
| Alerts: |
|
Comments (none posted)
libotr: code execution
| Package(s): | libotr |
CVE #(s): | CVE-2012-3461
|
| Created: | August 13, 2012 |
Updated: | April 10, 2013 |
| Description: |
From the Debian advisory:
Just Ferguson discovered that libotr, an off-the-record (OTR) messaging
library, can be forced to perform zero-length allocations for heap buffers
that are used in base64 decoding routines. An attacker can exploit this
flaw by sending crafted messages to an application that is using libotr to
perform denial of service attacks or potentially execute arbitrary code. |
| Alerts: |
|
Comments (none posted)
libvirt: remote denial of service
| Package(s): | libvirt |
CVE #(s): | CVE-2012-3445
|
| Created: | August 15, 2012 |
Updated: | September 5, 2012 |
| Description: |
From the CVE entry:
The virTypedParameterArrayClear function in libvirt 0.9.13 does not properly handle virDomain* API calls with typed parameters, which might allow remote authenticated users to cause a denial of service (libvirtd crash) via an RPC command with nparams set to zero, which triggers an out-of-bounds read or a free of an invalid pointer. |
| Alerts: |
|
Comments (none posted)
openttd: denial of service
| Package(s): | openttd |
CVE #(s): | CVE-2012-3436
|
| Created: | August 13, 2012 |
Updated: | August 30, 2012 |
| Description: |
From the Mageia advisory:
This security update fixes CVE-2012-3436 (Denial of service
(server) using ships on half tiles and landscaping). |
| Alerts: |
|
Comments (none posted)
perl-RT-Authen-ExternalAuth: privilege escalation
| Package(s): | perl-RT-Authen-ExternalAuth |
CVE #(s): | CVE-2012-2770
|
| Created: | August 10, 2012 |
Updated: | August 15, 2012 |
| Description: |
From the Red Hat advisory:
RT::Authen::ExternalAuth 0.10 and below (for all versions of RT) are vulnerable to an escalation of privilege attack where the URL of a RSS feed of the user can be used to acquire a fully logged-in session as that user. |
| Alerts: |
|
Comments (none posted)
php5: denial of service
| Package(s): | php5 |
CVE #(s): | CVE-2012-3450
|
| Created: | August 14, 2012 |
Updated: | August 15, 2012 |
| Description: |
From the CVE entry:
pdo_sql_parser.re in the PDO extension in PHP before 5.3.14 and 5.4.x before 5.4.4 does not properly determine the end of the query string during parsing of prepared statements, which allows remote attackers to cause a denial of service (out-of-bounds read and application crash) via a crafted parameter value.
|
| Alerts: |
|
Comments (none posted)
rubygem-actionpack: denial of service
| Package(s): | rubygem-actionpack |
CVE #(s): | CVE-2012-3424
|
| Created: | August 10, 2012 |
Updated: | August 15, 2012 |
| Description: |
From the Red Hat advisory:
DoS Vulnerability in authenticate_or_request_with_http_digest
There is a DoS vulnerability in Action Pack digest authentication handling in Rails. |
| Alerts: |
|
Comments (none posted)
Page editor: Jake Edge
Next page: Kernel development>>