|
|
Subscribe / Log in / New account

Security

Two approaches to reference count hardening

By Jonathan Corbet
July 7, 2016
Reference counts are used throughout the kernel to track the lifecycles of objects; when a reference count is decremented to zero, the kernel knows that the associated object is no longer in use and can be freed. But reference counts, like almost any other mechanism, are subject to various sorts of bugs in their usage, and those bugs can lead to exploitable vulnerabilities. So it is not surprising that developers have been interested in hardening the kernel against such bugs for years.

With reference counts, the most common bugs are failure to decrement a counter and decrementing the counter when a reference is not held. Both often happen in error paths and can go undetected for a long time, since those paths are lightly tested at best and rarely executed. An error situation might lead a function to return without performing a necessary decrement, or it may decrement a count that, in fact, had not yet been incremented. But these bugs can pop up in non-error paths as well; they often go unnoticed, since they rarely result in obvious explosions.

Excessive decrements will cause an object to be freed before the last real reference has been released, leading to a classic use-after-free situation. Such errors are often exploitable; see CVE-2016-4557 (and the associated fix) for a recent example. Excessive increments, if they can be provoked by an attacker, lead to a similar scenario: first the counter is overflowed, then decremented back to zero, leading to a premature freeing of the object. CVE-2016-0728 (fixed with this commit) is an example of the trouble that can ensue. Needless to say, it would be nice to catch this type of error before it gets to the point of being exploitable by an attacker.

As is so often the case, the oldest work in this area seems to have been done in the PaX project. This work starts with the kernel's atomic_t type, which is often used to implement reference counts. The kernel provides a set of helper functions for performing operations (increments and decrements, for example) on atomic_t variables, so it makes sense to add overflow checks to those functions. That must be done carefully, though, since operations on atomic_t variables are often in hot paths in the kernel; changes that increase the size of the atomic_t type are also unlikely to be accepted.

In the PaX case, the relevant operations, most of which are already implemented in assembly, are enhanced to perform overflow checks. Often that is just a matter of checking the condition-code flags set by the processor as a result of the increment or decrement operation. Should an overflow be detected, the response is architecture-dependent, but results in some sort of kernel trap. The overflow is undone, the process that overflowed the counter is killed, and a message is logged.

This checking catches attempts to exploit the overflow (excessive increment) bugs handily; that class of bugs is rendered unexploitable. Excessive decrements are harder to catch, since decrementing a reference count to zero is a part of normal operation. If such a bug exists, though, it will almost certainly show itself by decrementing the counter below zero occasionally, even in normal operations. With checking in place, somebody should notice the problem and it should be fixed.

There is one catch that makes this patch more invasive than one might expect, though: not all uses of atomic_t are reference counts. Other uses, which might legitimately wrap or go below zero, should not have this type of checking enabled. To get to that point, PaX adds atomic_unchecked_t type and converts a large set of in-kernel users; that leads to a fair amount of code churn.

Back in December, David Windsor posted a version of the PaX reference-count hardening patch set for review. A certain amount of discussion followed, and some problems were pointed out, but there was little opposition to the idea in general. Unfortunately, David vanished shortly thereafter and never followed up with a new version of the patches, so they remain outside of the mainline. Nobody else has stepped up to carry this work forward.

More recently, Jann Horn has posted a different approach to the refcount problem. Rather than change the atomic_t type, this patch set changes the kref mechanism, which exists explicitly for the implementation of reference counts. This choice means that far fewer locations in the kernel will be protected, but it makes the patch set far less invasive and allows testing of the underlying ideas.

Jann's patch set eschews assembly tweaks in favor of entirely architecture-independent checking, a choice which, he later conceded, might not be the most efficient in the end. With this patch in place, special things happen once a reference count reaches a maximum value (0x70000000): after that point, increments and decrements are no longer allowed. In essence, a reference count that large is deemed to have already overflowed, so it is "pinned" at a high number to prevent premature object freeing. No warnings are emitted, and no processes are killed.

While he had no objection to the patch as it was, Kees Cook said that he would rather see the checking done at the atomic_t level, since so much reference counting is done that way. Greg Kroah-Hartman agreed, noting that the process of auditing atomic_t users would turn up a lot of places where kref should be used instead. Adding overflow checking to atomic_t would protect kref automatically (since krefs are implemented as a wrapper around atomic_t), so it really does seem that, despite the large number of changes required, this protection should be done at the lower level.

Of course, there is already a working patch set for the detection of atomic_t overflows: the PaX code. The work to separate it out and turn it into a standalone kernel patch has even been done. The flag-day nature of the change (all non-reference-count uses of atomic_t have to change when the semantics of atomic_t do) is will make the process of upstreaming this patch a bit harder, but such changes can be made when they are justified. Closing off a class of errors that has demonstrably led to exploitable kernel vulnerabilities would seem like a reasonably strong justification.

Comments (6 posted)

Brief items

Security quotes of the week

The incidents in the data-set show that this culture of impunity has created a casual disregard for public privacy. There was the cop who tried to Snapchat a friend with a picture of a crime victim's driver's license in order to make fun of his name; another one who stalked women he was attracted to in order to gain information that would help him befriend them; cops who sold photos of confidential documents to unnamed third parties; and so on.
Cory Doctorow comments on a report [PDF] on UK police privacy invasions

The Department of Canine Security has raised the firework advisory level from "Gray" to "Gray" following credible evidence of human-made explosive devices used to celebrate something called "America." There is a severe risk of deafening explosions, which have previously resulted in frightened puppies and fingerless masters. Wiener dogs should practice special caution, as the most commonly served food at "America" parties is Dachshund-shaped sandwiches.
Aaron Nemo

By measuring the country-level paths to popular domains, we characterize transnational routing detours. We find that traffic is traversing known surveillance states, even when the traffic originates and ends in a country that does not conduct mass surveillance. Then, we investigate how clients can use overlay network relays and the open DNS resolver infrastructure to prevent their traffic from traversing certain jurisdictions. We find that 84% of paths originating in Brazil traverse the United States, but when relays are used for country avoidance, only 37% of Brazilian paths traverse the United States. Using the open DNS resolver infrastructure allows Kenyan clients to avoid the United States on 17% more paths. Unfortunately, we find that some of the more prominent surveillance states (e.g., the U.S.) are also some of the least avoidable countries.
Anne Edmundson, Roya Ensafi, Nick Feamster, and Jennifer Rexford in the abstract for "Characterizing and Avoiding Routing Detours Through Surveillance States" [PDF]

Now Google is starting the slow, hard work of preparing for that future, beginning with a web browser designed to keep your secrets even when they’re attacked by a quantum computer more powerful than any the world has seen.

The search giant today revealed that it’s been rolling out a new form of encryption in its Chrome browser that’s designed to resist not just existing crypto-cracking methods, but also attacks that might take advantage of a future quantum computer that accelerates codebreaking techniques untold gajillions of times over. For now, it’s only testing that new so-called “post-quantum” crypto in some single digit percentage of Chrome desktop installations, which will be updated so that they use the new encryption protocol when they connect to some Google services. But the experiment nonetheless represents the biggest real-world rollout ever of encryption that’s resistant to quantum attacks, and a milestone in the security world’s preparations to head off a potentially disastrous but still-distant quantum cryptopocalypse.

Andy Greenberg in Wired

Comments (4 posted)

Extracting Qualcomm's KeyMaster Keys - Breaking Android Full Disk Encryption (Bits Please)

The "Bits Please" blog has a detailed description of how one breaks full-disk encryption on an Android phone. Included therein is a lot of information on how full-disk encryption works on Android devices and its inherent limitations. "Instead of creating a scheme which directly uses the hardware key without ever divulging it to software or firmware, the code above performs the encryption and validation of the key blobs using keys which are directly available to the TrustZone software! Note that the keys are also constant - they are directly derived from the SHK (which is fused into the hardware) and from two 'hard-coded' strings. Let's take a moment to explore some of the implications of this finding."

Comments (43 posted)

Linux Security Summit schedule published

On his blog, James Morris has announced that the schedule for the Linux Security Summit (LSS) is now available. "The keynote speaker for this year’s event is Julia Lawall. Julia is a research scientist at Inria, the developer of Coccinelle, and the Linux Kernel coordinator for the Outreachy project. Refereed presentations include: The State of Kernel Self Protection Project – Kees Cook, Google; Towards Measured Boot Out of the Box – Matthew Garrett, CoreOS; Securing Filesystem Images for Unprivileged Containers – James Bottomley, IBM; Opportunistic Encryption Using IPsec – Paul Wouters, Libreswan IPsec VPN Project; and Android: Protecting the Kernel – Jeffrey Vander Stoep, Google." LSS will be held August 25-26 in Toronto, co-located with LinuxCon North America.

Comments (none posted)

10 million Android phones infected by all-powerful auto-rooting apps (Ars Technica)

Ars Technica reports on the "HummingBad" malware that has infected millions of Android devices: "Researchers from security firm Check Point Software said the malware installs more than 50,000 fraudulent apps each day, displays 20 million malicious advertisements, and generates more than $300,000 per month in revenue. The success is largely the result of the malware's ability to silently root a large percentage of the phones it infects by exploiting vulnerabilities that remain unfixed in older versions of Android." The article is based on a report [PDF] from Check Point, though the article notes that "researchers from mobile security company Lookout say HummingBad is in fact Shedun, a family of auto-rooting malware that came to light last November and had already infected a large number of devices".

Comments (60 posted)

New vulnerabilities

cronic: predictable temporary files

Package(s):cronic CVE #(s):CVE-2016-3992
Created:July 6, 2016 Updated:July 7, 2016
Description: From the openSUSE bug report:

It looks like cronic uses very predictable temporary files (like /tmp/cronic.out.$$) that depends only on PID:

	OUT=/tmp/cronic.out.$$
	ERR=/tmp/cronic.err.$$
	TRACE=/tmp/cronic.trace.$$

	set +e
	"$@" >$OUT 2>$TRACE
	RESULT=$?
	set -e
Alerts:
openSUSE openSUSE-SU-2016:1741-1 cronic 2016-07-05

Comments (none posted)

graphicsmagick: multiple vulnerabilities

Package(s):GraphicsMagick CVE #(s):CVE-2014-9805 CVE-2014-9807 CVE-2014-9808 CVE-2014-9809 CVE-2014-9810 CVE-2014-9811 CVE-2014-9813 CVE-2014-9814 CVE-2014-9815 CVE-2014-9816 CVE-2014-9817 CVE-2014-9818 CVE-2014-9819 CVE-2014-9820 CVE-2014-9828 CVE-2014-9829 CVE-2014-9830 CVE-2014-9831 CVE-2014-9834 CVE-2014-9835 CVE-2014-9837 CVE-2014-9839 CVE-2014-9840 CVE-2014-9844 CVE-2014-9845 CVE-2014-9846 CVE-2014-9847 CVE-2014-9853 CVE-2015-8894 CVE-2015-8901 CVE-2015-8903 CVE-2016-5688
Created:July 5, 2016 Updated:July 7, 2016
Description: From the openSUSE advisory:

CVE-2014-9805: SEGV due to a corrupted pnm file. (bsc#983752).

CVE-2014-9807: Double free in pdb coder. (bsc#983794).

CVE-2014-9808: SEGV due to corrupted dpc images. (bsc#983796).

CVE-2014-9809: SEGV due to corrupted xwd images. (bsc#983799).

CVE-2014-9810: SEGV in dpx file handler (bsc#983803).

CVE-2014-9811: Crash in xwd file handler (bsc#984032).

CVE-2014-9813: Crash on corrupted viff file (bsc#984035).

CVE-2014-9814: NULL pointer dereference in wpg file handling (bsc#984193).

CVE-2014-9815: Crash on corrupted wpg file (bsc#984372).

CVE-2014-9816: Out of bound access in viff image (bsc#984398).

CVE-2014-9817: Heap buffer overflow in pdb file handling (bsc#984400).

CVE-2014-9818: Out of bound access on malformed sun file (bsc#984181).

CVE-2014-9819: Heap overflow in palm files (bsc#984142).

CVE-2014-9820: Heap overflow in xpm files (bsc#984150).

CVE-2014-9828: corrupted (too many colors) psd file (bsc#984028).

CVE-2014-9829: Out of bound access in sun file (bsc#984409).

CVE-2014-9830: Handling of corrupted sun file (bsc#984135).

CVE-2014-9831: Handling of corrupted wpg file (bsc#984375).

CVE-2014-9834: Heap overflow in pict file (bsc#984436).

CVE-2014-9835: Heap overflow in wpf file (bsc#984145).

CVE-2014-9837: Additional PNM sanity checks (bsc#984166).

CVE-2014-9839: Theoretical out of bound access in magick/colormap-private.h (bsc#984379).

CVE-2014-9840: Out of bound access in palm file (bsc#984433).

CVE-2014-9844: Out of bound issue in rle file (bsc#984373).

CVE-2014-9845: Crash due to corrupted dib file (bsc#984394).

CVE-2014-9846: Added checks to prevent overflow in rle file (bsc#983521).

CVE-2014-9847: Incorrect handling of "previous" image in the JNG decoder (bsc#984144).

CVE-2014-9853: Memory leak in rle file handling (bsc#984408).

CVE-2015-8894: Double free in coders/tga.c:221 (bsc#983523).

CVE-2015-8901: MIFF file DoS (endless loop) (bsc#983234).

CVE-2015-8903: Denial of service (cpu) in vicar (bsc#983259).

CVE-2016-5688: Various invalid memory reads in ImageMagick WPG (bsc#985442).

Alerts:
openSUSE openSUSE-SU-2016:2641-1 GraphicsMagick 2016-10-26
openSUSE openSUSE-SU-2016:2644-1 GraphicsMagick 2016-10-26
Debian DSA-3652-1 imagemagick 2016-08-25
openSUSE openSUSE-SU-2016:2073-1 GraphicsMagick 2016-08-15
openSUSE openSUSE-SU-2016:1833-1 ImageMagick 2016-07-20
SUSE SUSE-SU-2016:1782-1 ImageMagick 2016-07-11
SUSE SUSE-SU-2016:1784-1 ImageMagick 2016-07-11
SUSE SUSE-SU-2016:1783-1 GraphicsMagick 2016-07-11
openSUSE openSUSE-SU-2016:1748-1 ImageMagick 2016-07-06
openSUSE openSUSE-SU-2016:1724-1 GraphicsMagick 2016-07-01
openSUSE openSUSE-SU-2016:3060-1 GraphicsMagick 2016-12-08
Debian-LTS DLA-731-1 imagemagick 2016-12-02
Ubuntu USN-3131-1 imagemagick 2016-11-21

Comments (none posted)

imagemagick: many vulnerabilities

Package(s):ImageMagick CVE #(s):CVE-2014-9806 CVE-2014-9812 CVE-2014-9821 CVE-2014-9822 CVE-2014-9823 CVE-2014-9824 CVE-2014-9825 CVE-2014-9826 CVE-2014-9832 CVE-2014-9833 CVE-2014-9836 CVE-2014-9838 CVE-2014-9841 CVE-2014-9842 CVE-2014-9843 CVE-2014-9848 CVE-2014-9849 CVE-2014-9850 CVE-2014-9851 CVE-2014-9852 CVE-2014-9854 CVE-2015-8900 CVE-2015-8902 CVE-2016-4562 CVE-2016-4564 CVE-2016-5687 CVE-2016-5689 CVE-2016-5690 CVE-2016-5691 CVE-2016-5841 CVE-2016-5842
Created:July 7, 2016 Updated:December 1, 2016
Description: From the openSUSE advisory:

  • CVE-2014-9806: Leaked file descriptor due to corrupted file (bsc#983774).
  • CVE-2014-9812: NULL pointer dereference in ps file handling (bsc#984137).
  • CVE-2014-9821: Avoid heap overflow in pnm files (bsc#984014).
  • CVE-2014-9823: Heap overflow in palm file (bsc#984401).
  • CVE-2014-9822: Heap overflow in quantum file (bsc#984187).
  • CVE-2014-9825: Heap overflow in corrupted psd file (bsc#984427).
  • CVE-2014-9824: Heap overflow in psd file (bsc#984185).
  • CVE-2014-9832: Heap overflow in pcx file (bsc#984183).
  • CVE-2014-9833: Heap overflow in psd file (bsc#984406).
  • CVE-2014-9836: Crash in xpm file handling (bsc#984023).
  • CVE-2014-9838: Out of memory crash in magick/cache.c (bsc#984370).
  • CVE-2014-9842: Memory leak in psd handling (bsc#984374).
  • CVE-2014-9841: Throwing of exceptions in psd handling (bsc#984172).
  • CVE-2014-9843: Incorrect boundary checks in DecodePSDPixels (bsc#984179).
  • CVE-2014-9849: Crash in png coder (bsc#984018).
  • CVE-2014-9848: Memory leak in quantum management (bsc#984404).
  • CVE-2014-9850: Incorrect thread limit logic (bsc#984149).
  • CVE-2014-9851: Crash when parsing resource block (bsc#984160).
  • CVE-2014-9852: Incorrect usage of object after it has been destroyed (bsc#984191).
  • CVE-2014-9854: Filling memory during identification of TIFF image (bsc#984184).
  • CVE-2015-8900: HDR file DoS (endless loop) (bsc#983232).
  • CVE-2015-8902: PDB file DoS (CPU consumption) (bsc#983253).
  • CVE-2016-4564: The DrawImage function in MagickCore/draw.c in ImageMagick made an incorrect function call in attempting to locate the next token, which allowed remote attackers to cause a denial of service (buffer overflow and application crash) or possibly have unspecified other impact via a crafted file (bsc#983308).
  • CVE-2016-4562: The DrawDashPolygon function in MagickCore/draw.c in ImageMagick mishandled calculations of certain vertices integer data, which allowed remote attackers to cause a denial of service (buffer overflow and application crash) or possibly have unspecified other impact via a crafted file (bsc#983292).
  • CVE-2016-5687: Out of bounds read in DDS coder (bsc#985448)
  • CVE-2016-5689: NULL ptr dereference in dcm coder (bsc#985460).
  • CVE-2016-5690: Bad for loop in DCM coder (bsc#985451).
  • CVE-2016-5691: Checks for pixel.red/green/blue in dcm coder (bsc#985456)
  • CVE-2016-5841: Out-of-bounds read in MagickCore/property.c:1396 could lead to memory leak/ Integer overflow read to RCE (bnc#986609).
  • CVE-2016-5842: Out-of-bounds read in MagickCore/property.c:1396 could lead to memory leak/ Integer overflow read to RCE (bnc#986608).
Alerts:
Debian DSA-3652-1 imagemagick 2016-08-25
openSUSE openSUSE-SU-2016:1833-1 ImageMagick 2016-07-20
Mageia MGASA-2016-0257 imagemagick 2016-07-19
SUSE SUSE-SU-2016:1782-1 ImageMagick 2016-07-11
SUSE SUSE-SU-2016:1784-1 ImageMagick 2016-07-11
openSUSE openSUSE-SU-2016:1748-1 ImageMagick 2016-07-06
openSUSE openSUSE-SU-2017:0023-1 ImageMagick 2017-01-04
SUSE SUSE-SU-2016:3258-1 ImageMagick 2016-12-23
SUSE SUSE-SU-2016:2964-1 ImageMagick 2016-12-01
Debian-LTS DLA-731-1 imagemagick 2016-12-02
Gentoo 201611-21 imagemagick 2016-12-01
Ubuntu USN-3131-1 imagemagick 2016-11-21

Comments (none posted)

kernel: multiple vulnerabilities

Package(s):kernel CVE #(s):CVE-2014-9904 CVE-2016-5828 CVE-2016-5829 CVE-2016-6130
Created:July 5, 2016 Updated:July 7, 2016
Description: From the CVE entries:

The snd_compress_check_input function in sound/core/compress_offload.c in the ALSA subsystem in the Linux kernel before 3.17 does not properly check for an integer overflow, which allows local users to cause a denial of service (insufficient memory allocation) or possibly have unspecified other impact via a crafted SNDRV_COMPRESS_SET_PARAMS ioctl call. (CVE-2014-9904)

The start_thread function in arch/powerpc/kernel/process.c in the Linux kernel through 4.6.3 on powerpc platforms mishandles transactional state, which allows local users to cause a denial of service (invalid process state or TM Bad Thing exception, and system crash) or possibly have unspecified other impact by starting and suspending a transaction before an exec system call. (CVE-2016-5828)

Multiple heap-based buffer overflows in the hiddev_ioctl_usage function in drivers/hid/usbhid/hiddev.c in the Linux kernel through 4.6.3 allow local users to cause a denial of service or possibly have unspecified other impact via a crafted (1) HIDIOCGUSAGES or (2) HIDIOCSUSAGES ioctl call. (CVE-2016-5829)

Race condition in the sclp_ctl_ioctl_sccb function in drivers/s390/char/sclp_ctl.c in the Linux kernel before 4.6 allows local users to obtain sensitive information from kernel memory by changing a certain length value, aka a "double fetch" vulnerability. (CVE-2016-6130)

Alerts:
Ubuntu USN-3127-2 linux-lts-trusty 2016-11-11
Ubuntu USN-3127-1 kernel 2016-11-11
Oracle ELSA-2016-2574 kernel 2016-11-10
Red Hat RHSA-2016:2584-02 kernel-rt 2016-11-03
Red Hat RHSA-2016:2574-02 kernel 2016-11-03
Ubuntu USN-3099-1 kernel 2016-10-11
Oracle ELSA-2016-3624 kernel 2.6.39 2016-10-06
Oracle ELSA-2016-3624 kernel 2.6.39 2016-10-06
Oracle ELSA-2016-3623 kernel 3.8.13 2016-10-06
Oracle ELSA-2016-3623 kernel 3.8.13 2016-10-06
Oracle ELSA-2016-3625 kernel 4.1.12 2016-10-06
Oracle ELSA-2016-3625 kernel 4.1.12 2016-10-06
Scientific Linux SLSA-2016:2006-1 kernel 2016-10-05
Oracle ELSA-2016-2006 kernel 2016-10-04
CentOS CESA-2016:2006 kernel 2016-10-05
Red Hat RHSA-2016:2006-01 kernel 2016-10-04
SUSE SUSE-SU-2016:2245-1 kernel 2016-09-06
SUSE SUSE-SU-2017:0471-1 kernel 2017-02-15
Debian-LTS DLA-609-1 kernel 2016-09-03
Ubuntu USN-3070-3 linux-snapdragon 2016-08-30
Ubuntu USN-3070-2 linux-raspi2 2016-08-30
Ubuntu USN-3070-4 linux-lts-xenial 2016-08-30
Mageia MGASA-2016-0283 kernel-tmb 2016-08-31
Mageia MGASA-2016-0284 kernel-linus 2016-08-31
Ubuntu USN-3072-2 linux-ti-omap4 2016-08-29
Ubuntu USN-3071-2 linux-lts-trusty 2016-08-29
Ubuntu USN-3072-1 kernel 2016-08-29
Ubuntu USN-3071-1 kernel 2016-08-29
Ubuntu USN-3070-1 kernel 2016-08-29
openSUSE openSUSE-SU-2016:2184-1 kernel 2016-08-29
openSUSE openSUSE-SU-2016:2144-1 kernel 2016-08-24
SUSE SUSE-SU-2016:2105-1 the Linux Kernel 2016-08-19
SUSE SUSE-SU-2016:2018-1 kernel 2016-08-09
SUSE SUSE-SU-2016:1985-1 kernel 2016-08-08
SUSE SUSE-SU-2016:1937-1 kernel 2016-08-02
Mageia MGASA-2016-0271 kernel 2016-07-31
SUSE SUSE-SU-2017:0333-1 kernel 2017-01-30
Fedora FEDORA-2016-784d5526d8 kernel 2016-07-19
Fedora FEDORA-2016-9a16b2e14e kernel 2016-07-20
openSUSE openSUSE-SU-2016:1798-1 kernel 2016-07-14
Fedora FEDORA-2016-73a733f4d9 kernel 2016-07-02
Debian DSA-3616-1 kernel 2016-07-04
SUSE SUSE-SU-2016:3304-1 kernel 2016-12-30
Scientific Linux SLSA-2016:2574-2 kernel 2016-12-14
openSUSE openSUSE-SU-2016:3021-1 kernel 2016-12-06
SUSE SUSE-SU-2016:2912-1 kernel 2016-11-25

Comments (none posted)

kernel: denial of service

Package(s):kernel CVE #(s):CVE-2016-5728
Created:July 1, 2016 Updated:July 7, 2016
Description:

From the Red Hat bug report:

Race condition vulnerability was found in drivers/misc/mic/vop/vop_vringh.c in the MIC VOP driver in the Linux kernel before 4.6.1. MIC VOP driver does two successive reads from user space to read a variable length data structure. Local user can obtain sensitive information form kernel memory or can cause DoS by corrupting kernel memory if the data structure changes between the two reads.

Alerts:
Ubuntu USN-3070-3 linux-snapdragon 2016-08-30
Ubuntu USN-3070-2 linux-raspi2 2016-08-30
Ubuntu USN-3070-4 linux-lts-xenial 2016-08-30
Ubuntu USN-3071-2 linux-lts-trusty 2016-08-29
Ubuntu USN-3071-1 kernel 2016-08-29
Ubuntu USN-3070-1 kernel 2016-08-29
Fedora FEDORA-2016-73a733f4d9 kernel 2016-07-02
Debian DSA-3616-1 kernel 2016-07-04
Fedora FEDORA-2016-1c409313f4 kernel 2016-06-30

Comments (none posted)

libarchive: multiple vulnerabilities

Package(s):libarchive CVE #(s):CVE-2015-8934 CVE-2016-4300 CVE-2016-4301 CVE-2016-4302 CVE-2016-5844
Created:July 6, 2016 Updated:July 7, 2016
Description: From the Mageia advisory:

An out of bounds read in the rar parser: invalid read in function copy_from_lzss_window() when unpacking malformed rar (CVE-2015-8934).

An exploitable heap overflow vulnerability exists in the 7zip read_SubStreamsInfo functionality of libarchive. A specially crafted 7zip file can cause a integer overflow resulting in memory corruption that can lead to code execution. An attacker can send a malformed file to trigger this vulnerability (CVE-2016-4300).

An exploitable stack based buffer overflow vulnerability exists in the mtree parse_device functionality of libarchive. A specially crafted mtree file can cause a buffer overflow resulting in memory corruption/code execution. An attacker can send a malformed file to trigger this vulnerability (CVE-2016-4301).

An exploitable heap overflow vulnerability exists in the Rar decompression functionality of libarchive. A specially crafted Rar file can cause a heap corruption eventually leading to code execution. An attacker can send a malformed file to trigger this vulnerability (CVE-2016-4302).

A signed integer overflow in iso parser: integer overflow when computing location of volume descriptor (CVE-2016-5844).

The libarchive package has been updated to version 3.2.1, fixing those issues and other bugs.

Alerts:
CentOS CESA-2016:1844 libarchive 2016-09-16
CentOS CESA-2016:1850 libarchive 2016-09-15
Scientific Linux SLSA-2016:1850-1 libarchive 2016-09-12
Scientific Linux SLSA-2016:1844-1 libarchive 2016-09-12
Red Hat RHSA-2016:1850-01 libarchive 2016-09-12
Red Hat RHSA-2016:1844-01 libarchive 2016-09-12
Debian DSA-3657-1 libarchive 2016-08-30
openSUSE openSUSE-SU-2016:2036-1 libarchive 2016-08-11
SUSE SUSE-SU-2016:1909-1 libarchive 2016-07-29
Debian-LTS DLA-554-1 libarchive 2016-07-21
Ubuntu USN-3033-1 libarchive 2016-07-14
Mageia MGASA-2016-0239 libarchive 2016-07-05
Gentoo 201701-03 libarchive 2017-01-01
openSUSE openSUSE-SU-2016:3005-1 libarchive 2016-12-05
openSUSE openSUSE-SU-2016:3002-1 libarchive 2016-12-05

Comments (none posted)

libgd: denial of service

Package(s):libgd CVE #(s):CVE-2016-6128
Created:July 6, 2016 Updated:July 7, 2016
Description: From the Mageia advisory:

Improperly handling invalid color index in gdImageCropThreshold() could result in denial of service.

Alerts:
Red Hat RHSA-2016:2750-01 rh-php56 2016-11-15
SUSE SUSE-SU-2016:2460-2 php7 2016-11-01
SUSE SUSE-SU-2016:2460-1 php7 2016-10-05
openSUSE openSUSE-SU-2016:2451-1 php5 2016-10-04
SUSE SUSE-SU-2016:2408-1 php5 2016-09-28
openSUSE openSUSE-SU-2016:2363-1 gd 2016-09-24
openSUSE openSUSE-SU-2016:2117-1 gd 2016-08-19
openSUSE openSUSE-SU-2016:2071-1 php5 2016-08-15
Fedora FEDORA-2016-615f3bf06e gd 2016-07-24
Debian DSA-3619-1 libgd2 2016-07-15
Ubuntu USN-3030-1 libgd2 2016-07-11
Mageia MGASA-2016-0242 libgd 2016-07-05
Gentoo 201612-09 gd 2016-12-04

Comments (none posted)

libircclient: insecure cipher suites

Package(s):libircclient CVE #(s):
Created:July 6, 2016 Updated:July 11, 2016
Description: From the openSUSE advisory:

This update for libircclient adjusts the cipher suites from ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH to
EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH (boo#857151)

Alerts:
openSUSE openSUSE-SU-2016:1766-1 libircclient 2016-07-10
openSUSE openSUSE-SU-2016:1737-1 libircclient 2016-07-05
openSUSE openSUSE-SU-2016:1742-1 libircclient 2016-07-05

Comments (none posted)

libreoffice: code execution

Package(s):libreoffice CVE #(s):CVE-2016-4324
Created:June 30, 2016 Updated:November 11, 2016
Description: From the Debian advisory:

Aleksandar Nikolic discovered that missing input sanitising in the RTF parser in Libreoffice may result in the execution of arbitrary code if a malformed documented is opened.

Alerts:
Oracle ELSA-2016-2579 libreoffice 2016-11-10
Gentoo 201611-03 libreoffice 2016-11-04
openSUSE openSUSE-SU-2016:2538-1 libreoffice 2016-10-14
Debian-LTS DLA-581-1 libreoffice 2016-08-03
Mageia MGASA-2016-0246 libreoffice 2016-07-08
Arch Linux ASA-201607-3 libreoffice-fresh 2016-07-05
Fedora FEDORA-2016-f0552e1341 libreoffice 2016-07-05
Ubuntu USN-3022-1 libreoffice 2016-06-29
Debian DSA-3608-1 libreoffice 2016-06-29

Comments (none posted)

libvirt: authentication bypass

Package(s):libvirt CVE #(s):CVE-2016-5008
Created:July 1, 2016 Updated:November 11, 2016
Description:

From the Debian advisory:

Setting an empty graphics password is documented as a way to disable VNC/SPICE access, but QEMU does not always behave like that. VNC would happily accept the empty password.

Alerts:
Oracle ELSA-2016-2577 libvirt 2016-11-10
Red Hat RHSA-2016:2577-02 libvirt 2016-11-03
openSUSE openSUSE-SU-2016:1975-1 libvirt 2016-08-06
Fedora FEDORA-2016-7b7e16a39e libvirt 2016-07-27
Fedora FEDORA-2016-65cc608ebe libvirt 2016-07-22
openSUSE openSUSE-SU-2016:1810-1 libvirt 2016-07-15
openSUSE openSUSE-SU-2016:1809-1 libvirt 2016-07-15
Mageia MGASA-2016-0248 libvirt 2016-07-08
Debian DSA-3613-1 libvirt 2016-07-02
Debian-LTS DLA-541-1 libvirt 2016-07-01
Scientific Linux SLSA-2016:2577-2 libvirt 2016-12-14

Comments (none posted)

mbedtls: three vulnerabilities

Package(s):mbedtls CVE #(s):
Created:July 5, 2016 Updated:July 28, 2016
Description: From the mbed TLS advisory:

(2.3, 2.1, 1.3) Fixed missing padding length check required by PKCS1 v2.2 in mbedtls_rsa_rsaes_pkcs1_v15_decrypt(). (considered low impact)

(2.3, 2.1, 1.3) Fixed potential integer overflow to buffer overflow in mbedtls_rsa_rsaes_pkcs1_v15_encrypt() and mbedtls_rsa_rsaes_oaep_encrypt(). (not triggerable remotely in (D)TLS).

(2.3, 2.1, 1.3) Fixed potential integer underflow to buffer overread in mbedtls_rsa_rsaes_oaep_decrypt(). It is not triggerable remotely in SSL/TLS.

Alerts:
openSUSE openSUSE-SU-2016:1892-1 mbedtls 2016-07-27
Fedora FEDORA-2016-51680a3b62 mbedtls 2016-07-12
Mageia MGASA-2016-0249 mbedtls 2016-07-08
Fedora FEDORA-2016-883e40d094 mbedtls 2016-07-05

Comments (none posted)

openstack-ironic: authentication bypass

Package(s):openstack-ironic CVE #(s):CVE-2016-4985
Created:July 5, 2016 Updated:July 7, 2016
Description: From the Red Hat advisory:

An authentication vulnerability was found in openstack-ironic. A client with network access to the ironic-api service could bypass OpenStack Identity authentication, and retrieve all information about any node registered with OpenStack Bare Metal. If an unprivileged attacker knew (or was able to guess) the MAC address of a network card belonging to a node, the flaw could be exploited by sending a crafted POST request to the node's /v1/drivers/$DRIVER_NAME/vendor_passthru resource. The response included the node's full details, including management passwords, even if the /etc/ironic/policy.json file was configured to hide passwords in API responses.

Alerts:
Red Hat RHSA-2016:1378-01 openstack-ironic 2016-07-04
Red Hat RHSA-2016:1377-01 openstack-ironic 2016-07-04

Comments (none posted)

phpMyAdmin: code execution

Package(s):phpMyAdmin CVE #(s):CVE-2016-5734
Created:July 5, 2016 Updated:July 7, 2016
Description: From the CVE entry:

phpMyAdmin 4.0.x before 4.0.10.16, 4.4.x before 4.4.15.7, and 4.6.x before 4.6.3 does not properly choose delimiters to prevent use of the preg_replace e (aka eval) modifier, which might allow remote attackers to execute arbitrary PHP code via a crafted string, as demonstrated by the table search-and-replace implementation.

Alerts:
Fedora FEDORA-2016-56ee5cb8b6 phpMyAdmin 2016-07-03
Fedora FEDORA-2016-9df3915036 phpMyAdmin 2016-07-03
Gentoo 201701-32 phpmyadmin 2017-01-11

Comments (none posted)

sqlite3: information leak

Package(s):sqlite3 CVE #(s):CVE-2016-6153
Created:July 6, 2016 Updated:August 12, 2016
Description: From the Debian LTS advisory:

It was discovered that sqlite3, a C library that implements a SQL database engine, would reject a temporary directory (e.g., as specified by the TMPDIR environment variable) to which the executing user did not have read permissions. This could result in information leakage as less secure global temporary directories (e.g., /var/tmp or /tmp) would be used instead.

Alerts:
openSUSE openSUSE-SU-2016:2041-1 sqlite3 2016-08-11
openSUSE openSUSE-SU-2016:1932-1 sqlite3 2016-08-01
Mageia MGASA-2016-0255 sqlite3 2016-07-14
Fedora FEDORA-2016-0138339b54 sqlite 2016-07-14
Debian-LTS DLA-543-1 sqlite3 2016-07-05

Comments (none posted)

struts: multiple vulnerabilities

Package(s):struts CVE #(s):CVE-2016-1181 CVE-2016-1182
Created:July 1, 2016 Updated:July 11, 2016
Description:

From the Fedora advisory:

CVE-2016-1181 - Vulnerability in ActionForm allows unintended remote operations against components on server memory.

CVE-2016-1182 - Improper input validation in Validator.

Alerts:
Mageia MGASA-2016-0244 struts 2016-07-08
Fedora FEDORA-2016-d717fdcf74 struts 2016-06-30
Fedora FEDORA-2016-21bd6a33af struts 2016-06-30

Comments (none posted)

wordpress: multiple vulnerabilities

Package(s):wordpress CVE #(s):CVE-2016-5832 CVE-2016-5833 CVE-2016-5834 CVE-2016-5835 CVE-2016-5836 CVE-2016-5837 CVE-2016-5838 CVE-2016-5839
Created:July 1, 2016 Updated:August 4, 2016
Description:

From the CVE entries:

CVE-2016-5832 - The customizer in WordPress before 4.5.3 allows remote attackers to bypass intended redirection restrictions via unspecified vectors.

CVE-2016-5833 - Cross-site scripting (XSS) vulnerability in the column_title function in wp-admin/includes/class-wp-media-list-table.php in WordPress before 4.5.3 allows remote attackers to inject arbitrary web script or HTML via a crafted attachment name, a different vulnerability than CVE-2016-5834.

CVE-2016-5834 - Cross-site scripting (XSS) vulnerability in the wp_get_attachment_link function in wp-includes/post-template.php in WordPress before 4.5.3 allows remote attackers to inject arbitrary web script or HTML via a crafted attachment name, a different vulnerability than CVE-2016-5833.

CVE-2016-5835 - WordPress before 4.5.3 allows remote attackers to obtain sensitive revision-history information by leveraging the ability to read a post, related to wp-admin/includes/ajax-actions.php and wp-admin/revision.php.

CVE-2016-5836 - The oEmbed protocol implementation in WordPress before 4.5.3 allows remote attackers to cause a denial of service via unspecified vectors.

CVE-2016-5837 - WordPress before 4.5.3 allows remote attackers to bypass intended access restrictions and remove a category attribute from a post via unspecified vectors.

CVE-2016-5838 - WordPress before 4.5.3 allows remote attackers to bypass intended password-change restrictions by leveraging knowledge of a cookie.

CVE-2016-5839 - WordPress before 4.5.3 allows remote attackers to bypass the sanitize_file_name protection mechanism via unspecified vectors.

Alerts:
Debian-LTS DLA-633-1 wordpress 2016-09-22
Debian DSA-3639-1 wordpress 2016-08-03
Debian-LTS DLA-568-1 wordpress 2016-07-29
Fedora FEDORA-2016-7db496f6f2 wordpress 2016-06-30
Fedora FEDORA-2016-a5e392ef01 wordpress 2016-06-30
Fedora FEDORA-2016-4573f8c9ba wordpress 2016-06-30

Comments (none posted)

xerces-c: denial of service

Package(s):xerces-c CVE #(s):CVE-2016-4463
Created:June 30, 2016 Updated:July 7, 2016
Description: From the Debian advisory:

Brandon Perry discovered that xerces-c, a validating XML parser library for C++, fails to successfully parse a DTD that is deeply nested, causing a stack overflow. A remote unauthenticated attacker can take advantage of this flaw to cause a denial of service against applications using the xerces-c library.

Alerts:
openSUSE openSUSE-SU-2016:2232-1 xerces-c 2016-09-04
openSUSE openSUSE-SU-2016:1808-1 xerces-c 2016-07-15
Mageia MGASA-2016-0243 xerces-c 2016-07-05
Fedora FEDORA-2016-84373c5f4f xerces-c 2016-07-06
Fedora FEDORA-2016-d2d6890690 xerces-c 2016-07-06
Fedora FEDORA-2016-7615febbd6 mingw-xerces-c 2016-07-06
Fedora FEDORA-2016-87e8468465 mingw-xerces-c 2016-07-06
Arch Linux ASA-201607-2 xerces-c 2016-07-05
Fedora FEDORA-2016-9284772686 xerces-c 2016-07-02
Fedora FEDORA-2016-0a061f6dd9 mingw-xerces-c 2016-07-05
Debian-LTS DLA-535-1 xerces-c 2016-06-29
Debian DSA-3610-1 xerces-c 2016-06-29

Comments (none posted)

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


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