12 captures
05 May 2013 - 16 Jan 2024
Apr MAY Jun
07
2012 2013 2014
success
fail

About this capture

COLLECTED BY

Organization: Alexa Crawls

Starting in 1996, Alexa Internet has been donating their crawl data to the Internet Archive. Flowing in every day, these data are added to the Wayback Machine after an embargo period.

Collection: Alexa Crawls

Starting in 1996, Alexa Internet has been donating their crawl data to the Internet Archive. Flowing in every day, these data are added to the Wayback Machine after an embargo period.
TIMESTAMPS

The Wayback Machine - http://web.archive.org/web/20130507150539/http://lwn.net:80/Articles/547853/
 
LWN.net Logo

Log in now

Create an account

Subscribe to LWN

Front page
Security
Kernel development
Distributions
Development
Announcements
->One big page

 

This page

Previous week
Following week

LWN.net Weekly Edition for May 2, 2013

Go and Rust — objects without class

LFCS: The value of FOSS fiscal sponsorship

LWN.net Weekly Edition for April 25, 2013

The 2013 Linux Storage, Filesystem, and Memory Management Summit

Security

App confinement for Ubuntu mobile devices

ByNathan Willis
April 24, 2013

Ubuntu has started outlining its plans for supporting third-party applications on mobile devices. The larger plan involves enabling independent developers to deliver their apps to phone and tablet users, but without going through the lengthy process currently used for maintaining packages in the desktop and server repositories. Consequently, new measures are planned to protect system security from potentially malicious applications. The blueprint is based on AppArmor, but it attempts to address several distinctions in the mobile device platform that AppArmor on desktops usually ignores.

The primary motivator for the new security work is that on desktop systems, the user session has historically been treated as "trusted"; Unix-like systems sport mechanisms that programs could use to attack other programs, but in practice programs have generally been trusted not to do so. Perhaps this is because the vast majority of desktop software on Linux systems is delivered through distribution (or project-specific) software repositories, which by and large have established review processes in place—or else the software in question is compiled locally, which places more of the burden for watching out for security issues on the user or administrator.

But mobile Linux systems are different. Casual phone users are less likely to be security-conscious developers or longstanding participants in the (at times) wild open source community. A far higher percentage of mobile phones apps are deployed as third-party apps on Linux desktop applications. Android copes with this distinct risk profile by several means, including restricting apps to its application sandbox and running each app as a separate user, but also by developing its own services for inter-process communication (IPC) and similar features.

The Ubuntu mobile platform, however, is intended to stay as close as possible to the system stack used on desktops and servers. Creating a separate IPC mechanism, permission system, and storage system solely for mobile devices is out of the question. The Ubuntu Security Team has published a specification outlining both the security risks found in the desktop environment, and how it plans to compensate for those risks on mobile devices.

The risks and requirements

The basic requirements needed from the "application confinement" framework (as it is called) include the ability to pre-define filesystem locations that the app can access, the ability to restrict Internet access, and the ability to log events for debugging and auditing purposes. AppArmor already meets those requirements, and it offers several additional options, such as the ability to restrict things like library loading, capabilities, and certain privileged operations.

But AppArmor does not currently address some other important system components, such as D-Bus, the GConf or GSettings configuration storage frameworks, or the display server. D-Bus runs several IPC "buses," including the privileged system bus and the user session bus. But on desktop systems it does not enforce any restrictions on using the session bus, so malicious apps could potentially send harmful messages to other programs. GConf generally uses a single settings database for all applications associated with a user account, and GSettings has a similar per-user settings database. The X display server features several mechanisms that a malicious app could use to sniff data from other applications, such as the clipboard, screenshots, input events, drag-and-drop, and the XSETTINGS configuration framework.

Many desktop systems also take a lax approach to environment variables, such as allowing applications to load arbitrary modules by setting a special environment variable. Applications can also send signals to other processes (such as SIGTERM), and potentially discover information about other processes through /proc. The specification also notes that the GNOME Keyring and Ubuntu Online Accounts programs are both potential security risks, since they store user credentials of various types, but both respond to queries from other applications over D-Bus.

And they have a plan

The risks posed by X constitute a challenge on their own. Obviously, the display server issues fall under Ubuntu's plans to develop its own Mir display server and Unity-Next graphical shell. The application confinement specification notes in brief that Mir should prevent arbitrary applications from taking screenshots and from sniffing input events belonging to other applications, and that Mir will not support XSETTINGS. Mir will also utilize AppArmor policy rules to limit access to the clipboard and to drag-and-drop events.

Many of the other challenges will be addressed through AppArmor profiles, though some necessitate changes to AppArmor or to the system frameworks involved. Each app will be shipped with its own AppArmor profile, which will enumerate its permissions. The app launcher will handle loading the AppArmor profile, configuring the environment, and launching the app (as well as cleaning up after the app shuts down). This process also requires some changes to AppArmor, since the way it currently works, all profiles are loaded at system start-up. The launcher process will also remain alive to monitor running apps, shutting them down if they violate CPU or memory limits, or cause an AppArmor failure event. The specification notes that cgroups were considered for this resource-monitoring task, but that they were not deemed a good fit for the mobile use-case.

The Ubuntu SDK is intended to help developers create these per-app AppArmor profiles; there will be some sort of review process involved which will hopefully catch security violations, but it is still in development. Ultimately, though, the purpose of the confinement scheme is to make the app review process short, but still provide end users with improved security.

To that end, Ubuntu is working on adding D-Bus monitoring to AppArmor policies. Apps will not be allowed to access D-Bus services that belong to the system; there is a blacklist including com.canonical.*, net.launchpad.*, org.gnome.*, org.gtk.*, and other reserved namespaces. Access to GConf and GSettings will be blocked by default. Since GConf has been deprecated in favor of GSettings, it will not receive any further work, but the plan is to develop a fine-grained access mechanism for GSettings. Each app will be allowed to access only specific, whitelisted GSettings paths.

The current plan for environment variable handling is for each AppArmor profile to specify which environment variables the app is authorized to change, and to either deny the app from launching if it attempts to set other environment variables, or to "scrub" those variables before launch. Similarly, AppArmor profiles will whitelist which signals an app is allowed to send. AppArmor will also get support for using the PID variable in profile rules, so profiles will restrict apps to reading only the information in their own /proc/PID directory.

The plan is for Ubuntu Online Accounts to gain AppArmor integration; initially this will be boolean support—an app will either be allowed to access online accounts, or it will not—but support for finer-grained access in later releases is planned, which will enable restricting access on the basis of each configured account. The plan for GNOME Keyring is less clear. Initially, it, too, will be subject to coarse, boolean access restrictions (which will default to "no access"). Apps will also be restricted so that those with GNOME Keyring access will only be permitted to read credentials that the app itself has stored. But the specification says that it is possible that fine-grain access may be added later, perhaps prompting the user when an app requests access to a credential stored by a different application.

The specification also lays out a plan for confining an app's access to the filesystem. Each app will have its own private directory for storing data and settings, in ~/.confined/foo. For access to other data in the filesystem, apps will first need permission for the specific data type in their AppArmor profile (e.g., "Photos", "Contacts", "Music", and so on). When the app requests a file, a separate file-chooser process will launch, allowing the user to select the file; this selection will then be returned to the app over D-Bus. The point of this setup is to force file-selection to be run past the user, so that unauthorized access will not go unnoticed. But the specification points out that exactly how the selected file gets returned may depend on the file type; the details have yet to be fleshed out.

All in all, the Ubuntu application confinement scheme is designed to be "lightweight"; a decision that the wiki says rules out several other possible sandboxing mechanisms, such as LXC containers and virtualization. It is also interesting to note how the decision to run all programs as the same user drives many of the engineering decisions which follow. Android, by comparison, creates a separate user for each app. The Ubuntu application confinement scheme does not use separate user IDs, which in turn is what necessitates setting up security mechanisms to restrict signals, environment variables, D-Bus, and the GConf and GSettings configuration systems.

An interesting thought experiment is to consider that all of the risks that these well-known frameworks present on mobile devices also exist on desktops and servers. But users and administrators are accustomed to them, perhaps in large part because third-party binary applications are relatively scarce on desktops and servers. Although if Linux were to ever "hit it big" in the traditional, world-marketshare-domination sense, that could change. That might make much of the AppArmor work in Ubuntu's application confinement plan considerably more widely applicable.

Comments (10 posted)

Brief items

Security quotes of the week

We should consider that if the architecture of a system, even a mostly *technically* secure system, is optimized for surveillance to the company's benefit - it *will* almost certainly be forced to hand your data over when ordered. Simply because it *is able to do so* at all, we've learned that the law in the US is interpreted to suggest that such companies must and they must do so silently. And it seems to be the case that when the US has no legal recourse, it may use other methods for jurisdictions beyond their direct legal reach. It might happen through legal means, it might happen through general blackhattery, it might happen through kidnapping a family member - compliance is possible and there exists a case where compliance *will* happen.
Jacob Appelbaum

I think you can safely say I’m incandescent with rage. BRING ME THE SEVERED HEAD OF RUPERT MURDOCH!
Cory Doctorow gets a DMCA takedown notice from Fox

W3C is not developing a new DRM system, nor are we embracing DRM as an organization. We do acknowledge that some in industry demand content protection and that DRM use is currently widespread. We also know that others find DRM anathema to the Open Web. In building the Open Web, we do not equate "open" content with material that must be available free of charge.
W3C on the Encrypted Media Extensions

Comments (8 posted)

New vulnerabilities

icedtea-web: multiple vulnerabilities

Package(s):icedtea-web CVE #(s):CVE-2013-1926 CVE-2013-1927
Created:April 18, 2013 Updated:May 2, 2013
Description: From the Red Hat advisory:

It was discovered that the IcedTea-Web plug-in incorrectly used the same class loader instance for applets with the same value of the codebase attribute, even when they originated from different domains. A malicious applet could use this flaw to gain information about and possibly manipulate applets from different domains currently running in the browser. (CVE-2013-1926)

The IcedTea-Web plug-in did not properly check the format of the downloaded Java Archive (JAR) files. This could cause the plug-in to execute code hidden in a file in a different format, possibly allowing attackers to execute code in the context of web sites that allow uploads of specific file types, known as a GIFAR attack. (CVE-2013-1927)

Alerts:
Red Hat RHSA-2013:0753-01 2013-04-17
CentOS CESA-2013:0753 2013-04-17
Scientific Linux SL-iced-20130417 2013-04-17
Oracle ELSA-2013-0753 2013-04-18
Mageia MGASA-2013-0123 2013-04-18
Fedora FEDORA-2013-5962 2013-04-18
Fedora FEDORA-2013-5925 2013-04-19
Mandriva MDVSA-2013:146 2013-04-19
Ubuntu USN-1804-1 2013-04-18
Ubuntu USN-1804-2 2013-04-23
Fedora FEDORA-2013-5877 2013-04-25
openSUSE openSUSE-SU-2013:0715-1 2013-04-26
openSUSE openSUSE-SU-2013:0735-1 2013-05-02

Comments (none posted)

java: multiple vulnerabilities

Package(s):java-1.7.0-openjdk CVE #(s):CVE-2013-0401 CVE-2013-1488 CVE-2013-1518 CVE-2013-1537 CVE-2013-1557 CVE-2013-1558 CVE-2013-1569 CVE-2013-2383 CVE-2013-2384 CVE-2013-2415 CVE-2013-2417 CVE-2013-2419 CVE-2013-2420 CVE-2013-2421 CVE-2013-2422 CVE-2013-2423 CVE-2013-2424 CVE-2013-2426 CVE-2013-2429 CVE-2013-2430 CVE-2013-2431 CVE-2013-2436
Created:April 18, 2013 Updated:May 6, 2013
Description: From the Red Hat advisory:

Multiple flaws were discovered in the font layout engine in the 2D component. An untrusted Java application or applet could possibly use these flaws to trigger Java Virtual Machine memory corruption. (CVE-2013-1569, CVE-2013-2383, CVE-2013-2384)

Multiple improper permission check issues were discovered in the Beans, Libraries, JAXP, and RMI components in OpenJDK. An untrusted Java application or applet could use these flaws to bypass Java sandbox restrictions. (CVE-2013-1558, CVE-2013-2422, CVE-2013-2436, CVE-2013-1518, CVE-2013-1557)

The previous default value of the java.rmi.server.useCodebaseOnly property permitted the RMI implementation to automatically load classes from remotely specified locations. An attacker able to connect to an application using RMI could use this flaw to make the application execute arbitrary code. (CVE-2013-1537)

Note: The fix for CVE-2013-1537 changes the default value of the property to true, restricting class loading to the local CLASSPATH and locations specified in the java.rmi.server.codebase property. Refer to Red Hat Bugzilla bug 952387 for additional details.

The 2D component did not properly process certain images. An untrusted Java application or applet could possibly use this flaw to trigger Java Virtual Machine memory corruption. (CVE-2013-2420)

It was discovered that the Hotspot component did not properly handle certain intrinsic frames, and did not correctly perform access checks and MethodHandle lookups. An untrusted Java application or applet could use these flaws to bypass Java sandbox restrictions. (CVE-2013-2431, CVE-2013-2421, CVE-2013-2423)

It was discovered that JPEGImageReader and JPEGImageWriter in the ImageIO component did not protect against modification of their state while performing certain native code operations. An untrusted Java application or applet could possibly use these flaws to trigger Java Virtual Machine memory corruption. (CVE-2013-2429, CVE-2013-2430)

The JDBC driver manager could incorrectly call the toString() method in JDBC drivers, and the ConcurrentHashMap class could incorrectly call the defaultReadObject() method. An untrusted Java application or applet could possibly use these flaws to bypass Java sandbox restrictions. (CVE-2013-1488, CVE-2013-2426)

The sun.awt.datatransfer.ClassLoaderObjectInputStream class may incorrectly invoke the system class loader. An untrusted Java application or applet could possibly use this flaw to bypass certain Java sandbox restrictions. (CVE-2013-0401)

Flaws were discovered in the Network component's InetAddress serialization, and the 2D component's font handling. An untrusted Java application or applet could possibly use these flaws to crash the Java Virtual Machine. (CVE-2013-2417, CVE-2013-2419)

The MBeanInstantiator class implementation in the OpenJDK JMX component did not properly check class access before creating new instances. An untrusted Java application or applet could use this flaw to create instances of non-public classes. (CVE-2013-2424)

It was discovered that JAX-WS could possibly create temporary files with insecure permissions. A local attacker could use this flaw to access temporary files created by an application using JAX-WS. (CVE-2013-2415)

Note: If the web browser plug-in provided by the icedtea-web package was installed, the issues exposed via Java applets could have been exploited without user interaction if a user visited a malicious website.

Alerts:
Red Hat RHSA-2013:0751-01 2013-04-17
Red Hat RHSA-2013:0752-01 2013-04-17
CentOS CESA-2013:0751 2013-04-17
CentOS CESA-2013:0752 2013-04-17
Scientific Linux SL-java-20130417 2013-04-17
Scientific Linux SL-java-20130417 2013-04-17
Oracle ELSA-2013-0751 2013-04-18
Mageia MGASA-2013-0124 2013-04-18
Fedora FEDORA-2013-5958 2013-04-18
Fedora FEDORA-2013-5922 2013-04-19
Mandriva MDVSA-2013:145 2013-04-19
Oracle ELSA-2013-0752 2013-04-18
Red Hat RHSA-2013:0758-01 2013-04-18
Red Hat RHSA-2013:0757-01 2013-04-18
Ubuntu USN-1806-1 2013-04-23
Red Hat RHSA-2013:0770-01 2013-04-24
CentOS CESA-2013:0770 2013-04-24
CentOS CESA-2013:0770 2013-04-24
Fedora FEDORA-2013-6368 2013-04-25
Oracle ELSA-2013-0770 2013-04-25
Oracle ELSA-2013-0770 2013-04-24
Scientific Linux SL-java-20130425 2013-04-25
Mageia MGASA-2013-0130 2013-05-02
openSUSE openSUSE-SU-2013:0745-1 2013-05-03
Mandriva MDVSA-2013:161 2013-05-06

Comments (none posted)

java: multiple unspecified vulnerabilities

Package(s):java-1.6.0-sun CVE #(s):CVE-2013-1491 CVE-2013-1540 CVE-2013-1563 CVE-2013-2394 CVE-2013-2418 CVE-2013-2432 CVE-2013-2433 CVE-2013-2435 CVE-2013-2439 CVE-2013-2440
Created:April 19, 2013 Updated:April 24, 2013
Description:

From the Red Hat advisory:

  • CVE-2013-1491: Oracle JDK: unspecified sanbox bypass (CanSecWest 2013, 2D)
  • CVE-2013-1540: Oracle JDK: unspecified vulnerability fixed in 7u21 and 6u45 (Deployment)
  • CVE-2013-1563: Oracle JDK: unspecified vulnerability fixed in 7u21 and 6u45 (Install)
  • CVE-2013-2394: Oracle JDK: unspecified vulnerability fixed in 7u21 and 6u45 (2D)
  • CVE-2013-2418: Oracle JDK: unspecified vulnerability fixed in 7u21 and 6u45 (Deployment)
  • CVE-2013-2432: Oracle JDK: unspecified vulnerability fixed in 7u21 and 6u45 (2D)
  • CVE-2013-2433: Oracle JDK: unspecified vulnerability fixed in 7u21 and 6u45 (Deployment)
  • CVE-2013-2435: Oracle JDK: unspecified vulnerability fixed in 7u21 and 6u45 (Deployment)
  • CVE-2013-2439: Oracle JDK: unspecified vulnerability fixed in 7u21 and 6u45 (Install)
  • CVE-2013-2440: Oracle JDK: unspecified vulnerability fixed in 7u21 and 6u45 (Deployment)
Alerts:
Red Hat RHSA-2013:0758-01 2013-04-18
Red Hat RHSA-2013:0757-01 2013-04-18

Comments (none posted)

kernel: multiple vulnerabilities

Package(s):linux CVE #(s):CVE-2012-6544 CVE-2012-6545 CVE-2012-6548
Created:April 19, 2013 Updated:April 24, 2013
Description:

From the Ubuntu advisory:

  • Mathias Krause discovered information leaks in the Linux kernel's Bluetooth Logical Link Control and Adaptation Protocol (L2CAP) implementation. A local user could exploit these flaws to examine some of the kernel's stack memory. (CVE-2012-6544)
  • Mathias Krause discovered information leaks in the Linux kernel's Bluetooth RFCOMM protocol implementation. A local user could exploit these flaws to examine parts of kernel memory. (CVE-2012-6545)
  • Mathias Krause discovered an information leak in the Linux kernel's UDF file system implementation. A local user could exploit this flaw to examine some of the kernel's heap memory. (CVE-2012-6548)
Alerts:
Ubuntu USN-1805-1 2013-04-19
Ubuntu USN-1808-1 2013-04-25
Ubuntu USN-1809-1 2013-05-01
Ubuntu USN-1811-1 2013-05-01
Ubuntu USN-1812-1 2013-05-01
Ubuntu USN-1813-1 2013-05-02
Ubuntu USN-1814-1 2013-05-02

Comments (none posted)

kernel: privilege escalation

Package(s):kernel CVE #(s):CVE-2013-1827
Created:April 24, 2013 Updated:April 24, 2013
Description: From the CVE entry:

net/dccp/ccid.h in the Linux kernel before 3.5.4 allows local users to gain privileges or cause a denial of service (NULL pointer dereference and system crash) by leveraging the CAP_NET_ADMIN capability for a certain (1) sender or (2) receiver getsockopt call.

Alerts:
Red Hat RHSA-2013:0744-01 2013-04-23
CentOS CESA-2013:0744 2013-04-24
Scientific Linux SL-kern-20130424 2013-04-24
Oracle ELSA-2013-0744 2013-04-24
Oracle ELSA-2013-2520 2013-04-25
Oracle ELSA-2013-2520 2013-04-25

Comments (none posted)

kernel: denial of service

Package(s):kernel CVE #(s):
Created:April 24, 2013 Updated:April 24, 2013
Description:

From the Red Hat Bugzilla entry:

Linux kernel built with Function Tracers(CONFIG_FUNCTION_TRACER) & Stack Tracers(CONFIG_STACK_TRACER) support is vulnerable to a NULL pointer deference flaw. It occurs while writing to `set_ftrace_pid' or `set_graph_function' files used by kernel tracers.

A privileged(CAP_SYS_ADMIN) user could use this flaw to crash the system resulting in DoS.

Alerts:
Fedora FEDORA-2013-6041 2013-04-19

Comments (none posted)

mysql: multiple unspecified vulnerabilities

Package(s):mysql CVE #(s):CVE-2012-5614 CVE-2013-1502 CVE-2013-1506 CVE-2013-1511 CVE-2013-1512 CVE-2013-1521 CVE-2013-1523 CVE-2013-1526 CVE-2013-1531 CVE-2013-1532 CVE-2013-1544 CVE-2013-1548 CVE-2013-1552 CVE-2013-1555 CVE-2013-1566 CVE-2013-1567 CVE-2013-1570 CVE-2013-2375 CVE-2013-2376 CVE-2013-2378 CVE-2013-2381 CVE-2013-2389 CVE-2013-2391 CVE-2013-2392 CVE-2013-2395
Created:April 23, 2013 Updated:April 26, 2013
Description: More than two dozen unspecified vulnerabilities have been found and corrected in mysql 5.1.69. See the Oracle Critical Patch Update Advisory MySQL appendix.
Alerts:
Mandriva MDVSA-2013:150 2013-04-22
Ubuntu USN-1807-1 2013-04-24
Red Hat RHSA-2013:0772-01 2013-04-25
CentOS CESA-2013:0772 2013-04-25
Oracle ELSA-2013-0772 2013-04-25
Scientific Linux SL-mysq-20130425 2013-04-25
Ubuntu USN-1807-2 2013-04-25

Comments (none posted)

owncloud: multiple vulnerabilities

Package(s):owncloud CVE #(s):
Created:April 24, 2013 Updated:April 25, 2013
Description:

From the OwnCloud release notes:

  • XSS vulnerability in jPlayer (oC-SA-2013-014)
  • PovstgreSQL: Insecure database password generator (oC-SA-2013-015)
Alerts:
Fedora FEDORA-2013-5626 2013-04-24
Fedora FEDORA-2013-5600 2013-04-25

Comments (none posted)

tinc: code execution

Package(s):tinc CVE #(s):CVE-2013-1428
Created:April 23, 2013 Updated:April 24, 2013
Description: From the Debian advisory:

Martin Schobert discovered a stack-based vulnerability in tinc, a virtual private network daemon.

When packets are forwarded via TCP, packet length is not checked against the stack buffer length. Authenticated peers could use this to crash the tinc daemon and maybe execute arbitrary code.

Alerts:
Debian DSA-2663-1 2013-04-22

Comments (none posted)

xen: denial of service

Package(s):xen CVE #(s):CVE-2013-1917 CVE-2013-1919
Created:April 18, 2013 Updated:May 6, 2013
Description: From the Debian advisory:

CVE-2013-1917: The SYSENTER instruction can be used by PV guests to accelerate system call processing. This instruction, however, leaves the EFLAGS register mostly unmodified. This can be used by malicious or buggy user space to cause the entire host to crash.

CVE-2013-1919: Various IRQ related access control operations may not have the intended effect, potentially permitting a stub domain to grant its client domain access to an IRQ it doesn't have access to itself. This can be used by malicious or buggy stub domains kernels to mount a denial of service attack possibly affecting the whole system.

Alerts:
Debian DSA-2662-1 2013-04-18
Fedora FEDORA-2013-6641 2013-05-05
Fedora FEDORA-2013-6723 2013-05-05

Comments (none posted)

xorg-server: information disclosure

Package(s):xorg-server CVE #(s):CVE-2013-1940
Created:April 18, 2013 Updated:April 24, 2013
Description: From the Debian advisory:

David Airlie and Peter Hutterer of Red Hat discovered that xorg-server, the Xorg X server was vulnerable to an information disclosure flaw related to input handling and devices hotplug.

When an X server is running but not on front (for example because of a VT switch), a newly plugged input device would still be recognized and handled by the X server, which would actually transmit input events to its clients on the background.

This could allow an attacker to recover some input events not intended for the X clients, including sensitive information.

Alerts:
Debian DSA-2661-1 2013-04-17
Ubuntu USN-1803-1 2013-04-17
Fedora FEDORA-2013-5928 2013-04-20
Slackware SSA:2013-109-01 2013-04-19

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