LWN.net Logo

Security

The leap second of doom

By Jake Edge
August 1, 2012

Since the last leap second caused a certain amount of havoc on Linux systems, it was probably only a matter of time before someone came up with the idea of "testing" for vulnerable systems again. Leap seconds are only supposed to occur at the end of June and December, with six months notice, so administrators might well have been waiting to update their servers for the problem until another was nigh. But "rogue" (or buggy) network time protocol (NTP) servers can effectively cause a leap second at the end of any month—which seems to be what happened on July 31.

It is not uncommon for "black hats" to keep exploiting vulnerabilities well after updates to fix them have been released. This situation is a bit different, though. While updating systems to avoid known vulnerabilities is clearly a "best practice", sometimes system administrators choose to delay updates, especially those that require a reboot, based on their sense of the likelihood of an attack. Given that no real leap seconds were scheduled, and the subversion of NTP servers (or traffic) may have seemed relatively unlikely, some (perhaps large) percentage of Linux systems have not been updated. But, not all "attacks" are caused by black hats; the original problem was caused by a bug, this one may also turn out that way.

Marco Marongiu appears to have been the first to notice the problem:

This is just to warn you that there are now some NTP servers around the globe spreading a leap second announcement for tomorrow 00:00:00 UTC (so, basically, in a few hours now).

If you didn't take action before the leapocalypse last month, you better hurry now.

Given that the notice (to the NTP questions mailing list) came less than four hours before the second "leapocalypse", it's hard to imagine that many administrators saw it in time to take action.

The most interesting question, of course, is how this could have happened. It is tempting to see it as some kind of worldwide denial of service attack, but that is probably not the most likely cause. Further discussion in the thread with Marongiu's warning points to another possible cause.

It seems that the NTP protocol has a "leap" flag (aka LI or leap indicator), which is a two-bit field that indicates whether a second should be inserted or deleted at the end of the current month. Adding a leap second at the end of any month does not correspond with current practice (June and December leap seconds only), but depending on which standard you look at, it is reasonable to do so. RFC 5905, which governs NTP, definitely allows leap seconds at the end of any month, however, so compliant implementations should allow that.

But that still leaves the question of why the LI flag was set to 1 (i.e. add a second at the end of the month). In the thread, "demonccc" noted a server with the flag set. Furthermore, Martin Burnicki described a problem his customers saw after June's leap second in which certain older NTP servers did not reset the leap flag after the event. That could cause leap seconds at the end of every month until it gets fixed.

While there aren't widespread reports of Linux systems going into infinite loops and burning up excess power (unlike June), it does appear to have affected some systems out there. The MythTV users mailing list has a thread about the problem, for example. If it is an actual attack, it is a clever one, but there are enough signs pointing to NTP server bugs that it's pretty unlikely.

Even if it is "just" caused by a bug (or bugs), it is still a bit worrisome. NTP has not generally been seen as a vector for attacks, but this situation shows that it could be. Unpatched systems could be targeted by man-in-the-middle attacks toward the end of every month for example. Both leap-second occurrences (real and fake) point to the problems that can lurk in code that only truly gets tested once in a great while. One wonders what might happen to systems (patched or not) that receive a "subtract a second" NTP message, since there has never been a real negative leap second.

Comments (2 posted)

Brief items

Security quotes of the week

Your silly post reminded me of something, while on vacation recently I bought a video game called "Assassin's Creed Revelations". I didn't have much of a chance to play it, but it seems fun so far. However, I noticed the installation procedure creates a browser plugin for it's accompanying uplay launcher, which grants unexpectedly (at least to me) wide access to websites.

I don't know if it's by design, but I thought I'd mention it here in case someone else wants to look into it (I'm not really interested in video game security, I air-gap the machine I use to play games).

-- Tavis Ormandy discovers a root kit disguised as DRM (more here)

You hereby grant Ninja Tel permission to listen to, read, view and/or record any and all communications sent via the network to which you are a party. [...] Before you get all upset about this, you already know full well that AT&T does this for the NSA. You understand that you have no reasonable expectation of privacy as to any on the Ninja Tel network. You grant Ninja Tel a worldwide, perpetual, assignable, royalty-free license to use any and all recorded or real-time communications sent via the Ninja Tel network to which you are a party. Don't worry, most of this is for the lulz.
-- Terms of service for Ninja Tel, Defcon's private cell network

Comments (6 posted)

Privilege escalation vulnerability in the NVidia binary driver

People running the proprietary NVidia graphics driver on systems with untrusted users may want to have a look at this exploit posted by Dave Airlie. "I was given this anonymously, it has been sent to nvidia over a month ago with no reply or advisory and the original author wishes to remain anonymous but would like to have the exploit published at this time."

Comments (15 posted)

This Cute Chat Site Could Save Your Life And Help Overthrow Your Government (Wired)

Wired writes about crypto.cat (or Cryptocat), which is an AGPL3-licensed browser-based AES-256-encrypted chat program. It was created by 21-year-old Nadim Kobeissi, who is originally from Beirut, Lebanon and now goes to college in Montréal, Canada. "But Kobeissi also knows that it’s equally important that Cryptocat be usable and pretty. Kobeissi wants Cryptocat to be something you want to use, not just need to. Encrypted chat tools have existed for years — but have largely stayed in the hands of geeks, who usually aren’t the ones most likely to need strong crypto. 'Security is not just good crypto. It’s very important to have good crypto, and audit it. Security is not possible without (that), but security is equally impossible without making it accessible.'"

Comments (26 posted)

Martin: Off the Record Messaging: A Tutorial

Ben Martin has a lengthy tutorial on Off the Record (OTR) messaging on his blog. OTR is useful for realtime encrypted communication (e.g. instant messaging, IRC) and Martin's post looks at both the protocol and using libotr to add OTR support to C++ programs. "In order to operate without a web of trust, libotr implements the Socialist Millionaires' Protocol (SMP). The SMP allows two parties to verify that they both know the same secret. The secret might be a passphrase or answer to a private joke that two people will easily know. The SMP operates fine in the presence of eaves droppers (who don't get to learn the secret). Active communications tampering is not a problem, though of course it might cause the protocol not to complete successfully."

Comments (18 posted)

New vulnerabilities

apache-mod_auth_openid: local session ID disclosure

Package(s):apache-mod_auth_openid CVE #(s):CVE-2012-2760
Created:July 26, 2012 Updated:August 1, 2012
Description:

From the Mandriva advisory:

mod_auth_openid before 0.7 for Apache uses world-readable permissions for /tmp/mod_auth_openid.db, which allows local users to obtain session ids (CVE-2012-2760).

Alerts:
Mandriva MDVSA-2012:114 2012-07-26

Comments (none posted)

bacula: symlink attack

Package(s):bacula CVE #(s):CVE-2008-5373
Created:July 30, 2012 Updated:August 27, 2012
Description: From the CVE entry:

mtx-changer.Adic-Scalar-24 in bacula-common 2.4.2 allows local users to overwrite arbitrary files via a symlink attack on a /tmp/mtx.##### temporary file, probably a related issue to CVE-2005-2995.

Alerts:
Fedora FEDORA-2012-10929 2012-07-29
Fedora FEDORA-2012-11717 2012-08-27
Mageia MGASA-2012-0321 2012-11-06

Comments (none posted)

bind9: denial of service

Package(s):bind9 CVE #(s):CVE-2012-3817
Created:July 26, 2012 Updated:September 10, 2012
Description:

From the Ubuntu advisory:

Einar Lonn discovered that Bind incorrectly initialized the failing-query cache. A remote attacker could use this flaw to cause Bind to crash, resulting in a denial of service.

Alerts:
Ubuntu USN-1518-1 2012-07-26
Mandriva MDVSA-2012:119 2012-07-29
Red Hat RHSA-2012:1122-01 2012-07-31
Red Hat RHSA-2012:1123-01 2012-07-31
Debian DSA-2517-1 2012-07-30
CentOS CESA-2012:1122 2012-07-31
CentOS CESA-2012:1123 2012-07-31
CentOS CESA-2012:1123 2012-07-31
Scientific Linux SL-bind-20120731 2012-07-31
Scientific Linux SL-bind-20120731 2012-07-31
Oracle ELSA-2012-1123 2012-07-31
Oracle ELSA-2012-1123 2012-07-31
Oracle ELSA-2012-1122 2012-07-31
openSUSE openSUSE-SU-2012:0969-1 2012-08-08
openSUSE openSUSE-SU-2012:0971-1 2012-08-08
Fedora FEDORA-2012-11153 2012-08-09
Fedora FEDORA-2012-11146 2012-08-09
Mageia MGASA-2012-0257 2012-09-07
Mageia MGASA-2012-0258 2012-09-07
Gentoo 201209-04 2012-09-23
Slackware SSA:2012-341-01 2012-12-06
openSUSE openSUSE-SU-2013:0605-1 2013-04-03

Comments (none posted)

ganglia: code execution

Package(s):ganglia CVE #(s):
Created:July 26, 2012 Updated:April 9, 2013
Description:

From the Ganglia advisory:

There is a security issue in Ganglia Web going back to at least 3.1.7 which can lead to arbitrary script being executed with web user privileges possibly leading to a machine compromise.

Alerts:
Fedora FEDORA-2012-10727 2012-07-26
Fedora FEDORA-2012-10699 2012-07-26
Mageia MGASA-2012-0277 2012-09-30
Mandriva MDVSA-2013:080 2013-04-09

Comments (none posted)

icedtea-web: code execution

Package(s):icedtea-web CVE #(s):CVE-2012-3422 CVE-2012-3423
Created:August 1, 2012 Updated:September 24, 2012
Description: From the Red Hat advisory:

An uninitialized pointer use flaw was found in the IcedTea-Web plug-in. Visiting a malicious web page could possibly cause a web browser using the IcedTea-Web plug-in to crash, disclose a portion of its memory, or execute arbitrary code. (CVE-2012-3422)

It was discovered that the IcedTea-Web plug-in incorrectly assumed all strings received from the browser were NUL terminated. When using the plug-in with a web browser that does not NUL terminate strings, visiting a web page containing a Java applet could possibly cause the browser to crash, disclose a portion of its memory, or execute arbitrary code. (CVE-2012-3423)

Alerts:
Red Hat RHSA-2012:1132-01 2012-07-31
CentOS CESA-2012:1132 2012-07-31
Oracle ELSA-2012-1132 2012-07-31
Scientific Linux SL-iced-20120801 2012-08-01
Ubuntu USN-1521-1 2012-07-31
Mandriva MDVSA-2012:122 2012-08-02
Mageia MGASA-2012-0198 2012-08-03
SUSE SUSE-SU-2012:0979-1 2012-08-09
openSUSE openSUSE-SU-2012:0981-1 2012-08-10
openSUSE openSUSE-SU-2012:0982-1 2012-08-13
Fedora FEDORA-2012-14316 2012-09-21
Fedora FEDORA-2012-14340 2012-09-21

Comments (none posted)

isc-dhcp: multiple vulnerabilities

Package(s):isc-dhcp CVE #(s):CVE-2012-3571 CVE-2012-3954
Created:July 26, 2012 Updated:August 6, 2012
Description:

From the Debian advisory:

CVE-2012-3571: Markus Hietava of the Codenomicon CROSS project discovered that it is possible to force the server to enter an infinite loop via messages with malformed client identifiers.

CVE-2012-3954: Glen Eustace discovered that DHCP servers running in DHCPv6 mode and possibly DHCPv4 mode suffer of memory leaks while processing messages. An attacker can use this flaw to exhaust resources and perform denial of service attacks.

Alerts:
Debian DSA-2516-1 2012-07-26
Mandriva MDVSA-2012:116 2012-07-26
Mandriva MDVSA-2012:115 2012-07-26
Ubuntu USN-1519-1 2012-07-26
Debian DSA-2519-1 2012-08-01
Fedora FEDORA-2012-11079 2012-08-01
Red Hat RHSA-2012:1140-01 2012-08-03
Red Hat RHSA-2012:1141-01 2012-08-03
CentOS CESA-2012:1140 2012-08-03
CentOS CESA-2012:1141 2012-08-03
Oracle ELSA-2012-1140 2012-08-03
Oracle ELSA-2012-1141 2012-08-03
Scientific Linux SL-dhcp-20120803 2012-08-03
Scientific Linux SL-dhcp-20120803 2012-08-03
Debian DSA-2519-2 2012-08-04
Fedora FEDORA-2012-11110 2012-08-06
openSUSE openSUSE-SU-2012:1006-1 2012-08-20
Slackware SSA:2012-237-01 2012-08-24
Mageia MGASA-2012-0256 2012-09-07
Gentoo 201301-06 2013-01-09
Oracle ELSA-2013-0504 2013-02-25

Comments (none posted)

krb5: denial of service

Package(s):krb5 CVE #(s):CVE-2012-1015
Created:August 1, 2012 Updated:August 6, 2012
Description: From the Red Hat advisory:

An uninitialized pointer use flaw was found in the way the MIT Kerberos KDC handled initial authentication requests (AS-REQ). A remote, unauthenticated attacker could use this flaw to crash the KDC via a specially-crafted AS-REQ request.

Alerts:
Red Hat RHSA-2012:1131-01 2012-07-31
CentOS CESA-2012:1131 2012-07-31
Debian DSA-2518-1 2012-07-31
Oracle ELSA-2012-1131 2012-07-31
Scientific Linux SL-krb5-20120801 2012-08-01
Ubuntu USN-1520-1 2012-07-31
Mandriva MDVSA-2012:111 2012-08-01
Fedora FEDORA-2012-11388 2012-08-05
Mageia MGASA-2012-0196 2012-08-03
openSUSE openSUSE-SU-2012:0967-1 2012-08-08
Fedora FEDORA-2012-11370 2012-08-09
Mandriva MDVSA-2013:042 2013-04-05

Comments (none posted)

krb5: code execution

Package(s):krb5 CVE #(s):CVE-2012-1014
Created:August 1, 2012 Updated:March 18, 2013
Description: From the Debian advisory:

By sending specially crafted AS-REQ (Authentication Service Request) to a KDC (Key Distribution Center), an attacker could make it free an uninitialized pointer, corrupting the heap. This can lead to process crash or even arbitrary code execution.

Alerts:
Debian DSA-2518-1 2012-07-31
Ubuntu USN-1520-1 2012-07-31
Fedora FEDORA-2012-11388 2012-08-05
openSUSE openSUSE-SU-2012:0967-1 2012-08-08

Comments (none posted)

krb5: information disclosure

Package(s):krb5 CVE #(s):CVE-2012-1012
Created:August 1, 2012 Updated:August 1, 2012
Description: From the Ubuntu advisory:

It was discovered that the kadmin protocol implementation in MIT krb5 did not properly restrict access to the SET_STRING and GET_STRINGS operations. A remote authenticated attacker could use this to expose or modify sensitive information. This issue only affected Ubuntu 12.04 LTS.

Alerts:
Ubuntu USN-1520-1 2012-07-31

Comments (none posted)

libjpeg-turbo: code execution

Package(s):libjpeg-turbo CVE #(s):CVE-2012-2806
Created:August 1, 2012 Updated:April 8, 2013
Description: From the Novell bugzilla:

A Heap-based buffer overflow was found in the way libjpeg-turbo decompressed certain corrupt JPEG images in which the component count was erroneously set to a large value. An attacker could create a specially-crafted JPEG image that, when opened, could cause an application using libpng to crash or, possibly, execute arbitrary code with the privileges of the user running the application.

Alerts:
openSUSE openSUSE-SU-2012:0932-1 2012-08-01
Mandriva MDVSA-2012:121 2012-08-01
Mageia MGASA-2012-0203 2012-08-06
Fedora FEDORA-2012-10721 2012-08-09
Gentoo 201209-13 2012-09-26
Mandriva MDVSA-2013:044 2013-04-05

Comments (none posted)

libpng14: denial of service

Package(s):libpng14 CVE #(s):CVE-2012-3425
Created:August 1, 2012 Updated:August 1, 2012
Description: libpng crashes when loading a corrupted image.
Alerts:
openSUSE openSUSE-SU-2012:0934-1 2012-08-01

Comments (none posted)

puppet: IP address impersonation

Package(s):puppet CVE #(s):CVE-2012-3408
Created:July 30, 2012 Updated:August 1, 2012
Description: From the Red Hat bugzilla:

From puppet labs: Puppet agents with certnames of IP addresses can be impersonated

This affects Puppet 2.6.16 and 2.7.17

If an authenticated host with a certname of an IP address changes IP addresses, and a second host assumes the first host's former IP address, the second host will be treated by the puppet master as the first one, giving the second host access to the first host's catalog. Note: This will not be fixed in Puppet versions prior to the forthcoming 3.x. Instead, with this announcement IP-based authentication in Puppet < 3.x is deprecated.

Resolved in Puppet 2.6.17, 2.7.18

Alerts:
Fedora FEDORA-2012-10891 2012-07-28

Comments (none posted)

wireshark: remote denial of service

Package(s):wireshark CVE #(s):CVE-2012-4048 CVE-2012-4049
Created:August 1, 2012 Updated:December 26, 2012
Description: From the CVE entries:

The PPP dissector in Wireshark 1.4.x before 1.4.14, 1.6.x before 1.6.9, and 1.8.x before 1.8.1 allows remote attackers to cause a denial of service (invalid pointer dereference and application crash) via a crafted packet, as demonstrated by a usbmon dump. (CVE-2012-4048)

epan/dissectors/packet-nfs.c in the NFS dissector in Wireshark 1.4.x before 1.4.14, 1.6.x before 1.6.9, and 1.8.x before 1.8.1 allows remote attackers to cause a denial of service (loop and CPU consumption) via a crafted packet. (CVE-2012-4049)

Alerts:
openSUSE openSUSE-SU-2012:0930-1 2012-08-01
Mandriva MDVSA-2012:125 2012-08-06
Mageia MGASA-2012-0206 2012-08-12
Mageia MGASA-2012-0210 2012-08-12
Debian DSA-2590-1 2012-12-26
Mandriva MDVSA-2013:055 2013-04-05

Comments (none posted)

xen: denial of service

Package(s):xen CVE #(s):CVE-2012-2625
Created:August 1, 2012 Updated:September 14, 2012
Description: From the Red Hat advisory:

A flaw was found in the way the pyGrub boot loader handled compressed kernel images. A privileged guest user in a para-virtualized guest (a DomU) could use this flaw to create a crafted kernel image that, when attempting to boot it, could result in an out-of-memory condition in the privileged domain (the Dom0).

Alerts:
Red Hat RHSA-2012:1130-01 2012-07-31
CentOS CESA-2012:1130 2012-07-31
Oracle ELSA-2012-1130 2012-08-01
Scientific Linux SL-xen-20120801 2012-08-01
SUSE SUSE-SU-2012:1043-1 2012-08-27
SUSE SUSE-SU-2012:1044-1 2012-08-27
SUSE SUSE-SU-2012:1135-1 2012-09-07
openSUSE openSUSE-SU-2012:1174-1 2012-09-14
openSUSE openSUSE-SU-2012:1172-1 2012-09-14
openSUSE openSUSE-SU-2012:1572-1 2012-11-26
openSUSE openSUSE-SU-2012:1573-1 2012-11-26

Comments (none posted)

xrdp: weak encryption

Package(s):xrdp CVE #(s):
Created:July 31, 2012 Updated:August 1, 2012
Description: From the SUSE advisory:

The XRDP service was changed so that the default crypto level in XRDP was changed from "low" to "high".

This switches from using a 40 bit encryption to a 128 bit two-way encryption.

Alerts:
SUSE SUSE-SU-2012:0927-1 2012-07-31

Comments (none posted)

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

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