LWN.net Logo

Security

Tizen content scanning and app obfuscation

By Nathan Willis
June 12, 2013
Tizen Dev Con 2013

At the 2013 Tizen Developer Conference in San Francisco, there was a range of different security talks examining difference facets of hardening the mobile platform. Last week, we examined the Smack framework that implements access control for system resources. There were also sessions that explored the problem of protecting the device at higher levels of the system stack. Sreenu Pilluta spoke about guarding against malware delivered via the Internet, and Roger Wang offered an unusual proposal for obfuscating JavaScript applications themselves: by compiling them.

Content, secure

Pilluta is an engineer at anti-virus software vendor McAfee. As he explained, Tizen device vendors are expected to manage their own "app stores" through which users install safe applications, but that leaves a lot of avenues for malicious content unblocked. Email, web pages, and media delivery services can all download content from untrusted sources that might contain a dangerous payload. Pilluta described Tizen's Content Security Framework (CSF), a mechanism designed to let device vendors add pluggable virus- and malware-scanning software to their Tizen-based products.

[Pilluta at Tizen Dev Con]

The CSF itself provides a set of APIs that other components can use to scan two distinct classes of content: downloaded data objects and remote URLs. The actual engines that perform the scanning are plugins to CSF, and are expected to be added to Tizen by device vendors. Security engines come in two varieties: Scan Engines (for data) and Site Engines (for URLs). Scan Engines inspect content and are designed to retrieve malware-matching patterns from the vendor, as is typical of PC virus-scanning programs today. Site Engines use a reputation system, in which the vendor categorizes URLs and creates block list policies by category (e.g., gambling, pornography, spyware, etc.).

Applications dictate when the scanning is performed, Pilluta said, which is intentionally a decision left up to the vendor. Some might choose to scan a page before loading it at all, while others might load the page but scan it before executing any JavaScript. It is also up to the application what to do when infected content is found; the rationale being that the application can provide a more context-aware response to the user, and do so within the expected bounds of the user interface, rather than popping up an imposing and unfamiliar warning notification from a component the user was unaware even existed.

The CSF scanning APIs are high-level and event-driven, which Pilluta said allowed applications to call them cooperatively. For example, an email client could call the Site Engine to scan an URL inside of an email message and the Scan Engine on a file attachment. Similarly, the email client could call the Site Engine on a URL clicked upon to be opened in the browser. Old-fashioned scanning methods that use "deep hooks" into the filesystem would make this sort of cooperation difficult, he said.

The APIs are also designed to provide flexibility to application authors. For example, the Site Engine API is not tied to the Tizen Web Runtime or even to the system's HTTP stack. Thus, an application that uses its own built-in HTTP proxy can still take advantage of the CSF to scan URLs without re-implementing the scanner.

Ultimately, CSF is a framework that device makers will take advantage of, each in its own way. Presumably commercial vendors will offer virus scanning engines to interested OEMs, but consumers will likely not see any of them until a Tizen product hits the market. The flexible framework also seems designed to support HTTP-driven services like downloadable media and game content, which are frequently the most-cited examples of why companies want to see Tizen in devices like smart TVs and car dashboards.

CSF is an open source contribution to the Tizen platform, although one would reasonably expect McAfee to also develop scanning engines to offer to device vendors and mobile providers. As the CSF begins to take shape in products coming to market, it will be interesting to see if there are also any open source scanning engines, either in the Tizen reference code or produced by third parties. One would hope so, since malware detection is a concern for everyone, not just commercial device makers.

JavaScript app protection

In contrast to Pilluta's talk, Wang was not presenting a component of the Tizen architecture; rather, he was showing the progress he has made on a personal effort that he hopes will appeal to independent application developers. The issue he tackled was protecting JavaScript applications against reverse-engineering. While that is not an issue for developers of open source apps, building tools to simplify the process on an open platform like Tizen could have implications further down the road. Wang is a developer for Intel working on the Tizen platform, although this particular project is a personal side-effort.

[Wang at Tizen Dev Con]

In the past, he said, JavaScript was primarily used for incidental page features and other such low-value scripts, but today JavaScript applications implement major functionality, and HTML5-driven platforms like Tizen should offer developers a way to protect their code against theft and reverse-engineering. There are a number of techniques already in use that side-step the issue, such as separating the core functionality out into a server-side component, or building the business model around the value of user-contributed data. But these approaches do not work for "pure" client-side JavaScript apps.

Most app developers rely on an obfuscation system to "minify" JavaScript that they want to obscure from prying eyes. Obfuscation removes easily-understood function and variable names, and changes the formatting to make the code delivered difficult to understand. The most popular obfuscator, he noted, was Yahoo's YUI Compressor (which has other beneficial features like removing dead code), followed by the Google Closure Compiler, and UglifyJS. But obfuscators still produce JavaScript which is delivered to the client browser or web runtime and can ultimately be reverse-engineered.

The other major approach found in practice today is encryption, in which the app is downloaded by the device and placed in encrypted storage by the installer. Typically either the initial download is conducted over a secure channel (e.g., HTTPS) or the download is done in the clear and the installation program encrypts the app when it is installed. Both have weaknesses, Wang said. Someone can dump the HTTP connection if it is unencrypted and intercept the app, but a skilled attacker could also run a man-in-the-middle attack against HTTPS. Ultimately, he concluded, there is always dumping from memory, so encryption is an approach that will always get broken one way or another.

Although there are a few esoteric approaches out there—such as writing one's app in another language and then compiling it to JavaScript (a practice Wang said was out-of-scope for the talk since he was addressing the concerns of JavaScript coders), most people simply "lawyer up" and apply licensing terms that forbid examining the app. That may not work in every jurisdiction, he said, and even when it does, it is expensive.

Wang's experiment takes a different approach entirely: compiling the JavaScript app to machine code, just like one does with a native app. The technique works by exploiting the difference between a platform's web runtime (which does not allow the user to inspect or save HTML content) and the web browser. A developer can work in JavaScript, then deploy the app as a binary. The platform would have to support this approach, both in the installer and in the web runtime, however, and developers would need to rebuild their apps for each HTML5 platform.

Wang has implemented the technique as an experimental feature of node-webkit, his app runtime derived from Chromium and Node.js. It compiles a JavaScript app using the V8 JavaScript engine's "snapshot" feature. Snapshots dump the engine's heap, and thus contain all of the created objects and Just-In-Time (JIT) compiled functions. In Chromium, snapshots are used to cache contexts for performance reasons; the node-webkit compiler simply saves them. The resulting binaries can then be executed by WebKit's JSC utility.

There are, naturally, limitations. V8 snapshots are created very early in the execution process, so some DOM objects (such as window) have not yet been created when the snapshot is taken. On the wiki entry for the feature, Wang suggests a few ways to work around this issue. The other limitation, however, is that the snapshot tool will throw an error if the JavaScript app is too large. Wang suggests splitting the app up if this limitation poses a practical problem. Another limitation is that the resulting binary also runs significantly slower than JavaScript executed in the runtime.

He has been exploring other techniques for extending the idea, such as using the Crankshaft optimizer. Crankshaft is an alternative to the JavaScript compiler currently used in V8. At the moment, using Crankshaft's compiler can generate code that runs faster, Wang said, but it takes significantly longer to compile, and it requires "training Crankshaft on your code."

Wang has defined an additional field for the package.json file that defines Tizen HTML5 applications; "snapshot" : "snapshot.bin" can be used to point to compiled JavaScript apps and test them with node-webkit. He is still in the process of working out the API required to connect JSC to the Tizen web runtime, however. The feature is not currently slated to become part of the official Tizen platform.

Obfuscating JavaScript by any means is a controversial subject. To many in the free software world, it is seen as a technique to prevent users from studying and modifying the software on their systems. Bradley Kuhn of the Software Freedom Conservancy lambasted it at SCALE 2013, for instance. Then again, obfuscation is not required to make a JavaScript app non-free; as the Free Software Foundation notes, licensing can do that alone. Still, it is likely that compiling JavaScript apps to machine code offers a tantalizing measure of protection to quite a few proprietary software vendors, beyond the attack-resistance of traditional obfuscation techniques.

Many users, of course, are purely pragmatic about mobile apps: they use what is available, free software or otherwise. But as the FSF points out, unobfuscated JavaScript, while it may be non-free, can still be read and modified. Perhaps the longer-term concern about obfuscation or compiling to machine code is that a device vendor could automate the technique on its mobile app store. But automated or manual, the prospect of building JavaScript compilation into Tizen did appear to ruffle several feathers at Tizen Dev Con; audience members asked about the project during the Q&A sections of several later talks. Nevertheless, for the foreseeable future, Wang's effort remains a side project of an experimental nature.

[The author wishes to thank the Linux Foundation for travel assistance to Tizen Dev Con.]

Comments (3 posted)

Brief items

PRISM quotes of the week

2. If I add a phone to my account, will those calls also be monitored?

Once again, the answer is good news. If you want to add a child or any other family member to your Verizon account, their phone calls—whom they called, when, and the duration of the call—will all be monitored by the United States government, at no additional cost.

— "US President Barack Obama" in a FAQ for Verizon customers

Knowing how the government spies on us is important. Not only because so much of it is illegal -- or, to be as charitable as possible, based on novel interpretations of the law -- but because we have a right to know. Democracy requires an informed citizenry in order to function properly, and transparency and accountability are essential parts of that. That means knowing what our government is doing to us, in our name. That means knowing that the government is operating within the constraints of the law. Otherwise, we're living in a police state.

We need whistle-blowers.

Bruce Schneier

Only one explanation seems logical. The government is afraid of us -- you and me. They're terrified (no pun intended) that if we even knew the most approximate ranges of how many requests they're making, we would suspect significant abuse of their investigatory powers.

In the absence of even this basic information, conspiracy theories have flourished, which incorrectly assume that the level of data being demanded from Web services is utterly unfettered and even higher than reality -- and the government's intransigence has diverted people's anger inappropriately to those Web services. A tidy state of affairs for the spooks and their political protectors.

Lauren Weinstein

Even assuming the U.S. government never abuses this data -- and there is no reason to assume that! -- why isn't the burgeoning trove more dangerous to keep than it is to foreswear? Can anyone persuasively argue that it's virtually impossible for a foreign power to ever gain access to it? Can anyone persuasively argue that if they did gain access to years of private phone records, email, private files, and other data on millions of Americans, it wouldn't be hugely damaging?

Think of all the things the ruling class never thought we'd find out about the War on Terrorism that we now know. Why isn't the creation of this data trove just the latest shortsighted action by national security officials who constantly overestimate how much of what they do can be kept secret? Suggested rule of thumb: Don't create a dataset of choice that you can't bear to have breached.

Conor Friedersdorf

Comments (15 posted)

New vulnerabilities

bzr: denial of service

Package(s):bzr CVE #(s):CVE-2013-2099 CVE-2013-2098
Created:June 7, 2013 Updated:September 10, 2013
Description:

From the Red Hat bug report:

A denial of service flaw was found in the way SSL module implementation of Python3, version 3 of the Python programming language (aka Python 3000), performed matching of the certificate's name in the case it contained many '*' wildcard characters. A remote attacker, able to obtain valid certificate with its name containing a lot of '*' wildcard characters could use this flaw to cause denial of service (excessive CPU consumption) by issuing request to validate such a certificate for / to an application using the Python's ssl.match_hostname() functionality.

Alerts:
Fedora FEDORA-2013-9628 2013-06-07
Fedora FEDORA-2013-9620 2013-06-07
Fedora FEDORA-2013-12414 2013-07-15
Fedora FEDORA-2013-12396 2013-07-15
Fedora FEDORA-2013-12421 2013-07-15
Fedora FEDORA-2013-13216 2013-07-26
Fedora FEDORA-2013-13140 2013-07-26
Fedora FEDORA-2013-13213 2013-07-26
Mageia MGASA-2013-0252 2013-08-22
Mandriva MDVSA-2013:229 2013-09-10
Ubuntu USN-1983-1 2013-10-01
Ubuntu USN-1984-1 2013-10-01
Ubuntu USN-1985-1 2013-10-01

Comments (2 posted)

cgit: directory traversal

Package(s):cgit CVE #(s):CVE-2013-2117
Created:June 6, 2013 Updated:July 17, 2013
Description:

From the Red Hat Bugzilla entry:

Today I found a nasty directory traversal:

http://somehost/?url=/somerepo/about/../../../../etc/passwd

[...] Cgit by default is not vulnerable to this, and the vulnerability only exists when a user has configured cgit to use a readme file from a filesystem filepath instead of from the git repo itself. Until a release is made, administrators are urged to disable reading the readme file from a filepath, if currently enabled.

Alerts:
Fedora FEDORA-2013-9522 2013-06-06
Fedora FEDORA-2013-9498 2013-06-06
openSUSE openSUSE-SU-2013:1207-1 2013-07-17

Comments (none posted)

chromium-browser: multiple vulnerabilities

Package(s):chromium-browser CVE #(s):CVE-2013-2855 CVE-2013-2856 CVE-2013-2857 CVE-2013-2858 CVE-2013-2859 CVE-2013-2860 CVE-2013-2861 CVE-2013-2862 CVE-2013-2863 CVE-2013-2865
Created:June 11, 2013 Updated:June 12, 2013
Description: From the Debian advisory:

CVE-2013-2855: The Developer Tools API in Chromium before 27.0.1453.110 allows remote attackers to cause a denial of service (memory corruption) or possibly have unspecified other impact via unknown vectors.

CVE-2013-2856: Use-after-free vulnerability in Chromium before 27.0.1453.110 allows remote attackers to cause a denial of service or possibly have unspecified other impact via vectors related to the handling of input.

CVE-2013-2857: Use-after-free vulnerability in Chromium before 27.0.1453.110 allows remote attackers to cause a denial of service or possibly have unspecified other impact via vectors related to the handling of images.

CVE-2013-2858: Use-after-free vulnerability in the HTML5 Audio implementation in Chromium before 27.0.1453.110 allows remote attackers to cause a denial of service or possibly have unspecified other impact via unknown vectors.

CVE-2013-2859: Chromium before 27.0.1453.110 allows remote attackers to bypass the Same Origin Policy and trigger namespace pollution via unspecified vectors.

CVE-2013-2860: Use-after-free vulnerability in Chromium before 27.0.1453.110 allows remote attackers to cause a denial of service or possibly have unspecified other impact via vectors involving access to a database API by a worker process.

CVE-2013-2861: Use-after-free vulnerability in the SVG implementation in Chromium before 27.0.1453.110 allows remote attackers to cause a denial of service or possibly have unspecified other impact via unknown vectors.

CVE-2013-2862: Skia, as used in Chromium before 27.0.1453.110, does not properly handle GPU acceleration, which allows remote attackers to cause a denial of service (memory corruption) or possibly have unspecified other impact via unknown vectors.

CVE-2013-2863: Chromium before 27.0.1453.110 does not properly handle SSL sockets, which allows remote attackers to execute arbitrary code or cause a denial of service (memory corruption) via unspecified vectors.

CVE-2013-2865: Multiple unspecified vulnerabilities in Chromium before 27.0.1453.110 allow attackers to cause a denial of service or possibly have other impact via unknown vectors.

Alerts:
Debian DSA-2706-1 2013-06-10
Mageia MGASA-2013-0194 2013-07-01
Gentoo 201309-16 2013-09-24

Comments (none posted)

kde: weak passwords generated by PasteMacroExpander

Package(s):kde CVE #(s):CVE-2013-2120
Created:June 12, 2013 Updated:June 17, 2013
Description: From the Red Hat bugzilla:

A security flaw was found in the way PasteMacroExpander of paste applet of kdeplasma-addons, a suite of additional plasmoids for KDE desktop environment, performed password generation / derivation for user provided string. An attacker could use this flaw to obtain plaintext form of such a password (possibly leading to their subsequent ability for unauthorized access to a service / resource, intended to be protected by such a password).

Alerts:
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10130 2013-06-12
Fedora FEDORA-2013-10182 2013-06-16

Comments (6 posted)

kernel: multiple vulnerabilities

Package(s):kernel CVE #(s):CVE-2013-1935 CVE-2013-1943 CVE-2013-2017
Created:June 11, 2013 Updated:June 13, 2013
Description: From the Red Hat advisory:

* A flaw was found in the way KVM (Kernel-based Virtual Machine) initialized a guest's registered pv_eoi (paravirtualized end-of-interrupt) indication flag when entering the guest. An unprivileged guest user could potentially use this flaw to crash the host. (CVE-2013-1935, Important)

* A missing sanity check was found in the kvm_set_memory_region() function in KVM, allowing a user-space process to register memory regions pointing to the kernel address space. A local, unprivileged user could use this flaw to escalate their privileges. (CVE-2013-1943, Important)

* A double free flaw was found in the Linux kernel's Virtual Ethernet Tunnel driver (veth). A remote attacker could possibly use this flaw to crash a target system. (CVE-2013-2017, Moderate)

Red Hat would like to thank IBM for reporting the CVE-2013-1935 issue and Atzm WATANABE of Stratosphere Inc. for reporting the CVE-2013-2017 issue. The CVE-2013-1943 issue was discovered by Michael S. Tsirkin of Red Hat.

Alerts:
Red Hat RHSA-2013:0911-01 2013-06-10
Oracle ELSA-2013-0911 2013-06-11
CentOS CESA-2013:0911 2013-06-12
Oracle ELSA-2013-2534 2013-06-12
Oracle ELSA-2013-2534 2013-06-12
Scientific Linux SL-kern-20130612 2013-06-12
Ubuntu USN-1940-1 2013-09-06
Ubuntu USN-1939-1 2013-09-06

Comments (none posted)

libraw: code execution

Package(s):libraw CVE #(s):CVE-2013-2126
Created:June 7, 2013 Updated:July 31, 2013
Description:

From the Secunia advisory:

Two vulnerabilities have been reported in LibRaw, which can be exploited by malicious people to potentially compromise an application using the library.

1) A double-free error exits when handling damaged full-color within Foveon and sRAW files.

2) An error during exposure correction can be exploited to cause a buffer overflow.

Successful exploitation may allow execution of arbitrary code.

Alerts:
Mageia MGASA-2013-0167 2013-06-06
Fedora FEDORA-2013-9773 2013-06-11
Fedora FEDORA-2013-9798 2013-06-11
Ubuntu USN-1884-1 2013-06-18
Ubuntu USN-1885-1 2013-06-18
openSUSE openSUSE-SU-2013:1083-1 2013-06-26
openSUSE openSUSE-SU-2013:1085-1 2013-06-26
openSUSE openSUSE-SU-2013:1168-1 2013-07-10
Mageia MGASA-2013-0223 2013-07-21
Mageia MGASA-2013-0219 2013-07-21
Fedora FEDORA-2013-13112 2013-07-24
Fedora FEDORA-2013-13038 2013-07-24
Fedora FEDORA-2013-13499 2013-07-30
Mageia MGASA-2013-0269 2013-09-01
Gentoo 201309-09 2013-09-15

Comments (none posted)

mediawiki: insecure file uploading

Package(s):mediawiki CVE #(s):CVE-2013-2114
Created:June 7, 2013 Updated:July 22, 2013
Description:

From the Red Hat bug report:

MediaWiki user Marco discovered that security checks for file uploads were not being run when the file was uploaded in chunks through the API. This option has been available to users who can upload files since MediaWiki 1.19.

Alerts:
Fedora FEDORA-2013-9622 2013-06-07
Fedora FEDORA-2013-9616 2013-06-07
Mageia MGASA-2013-0221 2013-07-21
Mageia MGASA-2013-0226 2013-07-21

Comments (none posted)

mod_security: denial of service

Package(s):mod_security CVE #(s):CVE-2013-2765
Created:June 6, 2013 Updated:July 2, 2013
Description:

From the Red Hat Bugzilla entry:

Fixed Remote Null Pointer DeReference (CVE-2013-2765). When forceRequestBodyVariable action is triggered and a unknown Content-Type is used, mod_security will crash trying to manipulate msr->msc_reqbody_chunks->elts however msr->msc_reqbody_chunks is NULL. (Thanks Younes JAAIDI)

Alerts:
Fedora FEDORA-2013-9518 2013-06-06
Fedora FEDORA-2013-9519 2013-06-06
Mageia MGASA-2013-0179 2013-06-26
Mandriva MDVSA-2013:187 2013-07-02
openSUSE openSUSE-SU-2013:1331-1 2013-08-14
openSUSE openSUSE-SU-2013:1336-1 2013-08-14
openSUSE openSUSE-SU-2013:1342-1 2013-08-14

Comments (none posted)

PackageKit: only allow patches for regular updates

Package(s):PackageKit CVE #(s):CVE-2013-1764
Created:June 10, 2013 Updated:June 12, 2013
Description: From the openSUSE advisory:

The PackageKit zypp backend was fixed to only allow patches to be updated. Otherwise a regular user could install new packages or even downgrade older packages to ones with security problems.

Alerts:
openSUSE openSUSE-SU-2013:0889-1 2013-06-10

Comments (none posted)

php: code execution

Package(s):php CVE #(s):CVE-2013-2110
Created:June 11, 2013 Updated:June 24, 2013
Description: From the Slackware advisory:

A heap-based overflow in the quoted_printable_encode() function could be used by a remote attacker to crash PHP or execute code as the 'apache' user.

Alerts:
Slackware SSA:2013-161-01 2013-06-10
Ubuntu USN-1872-1 2013-06-11
Mageia MGASA-2013-0172 2013-06-18
Mageia MGASA-2013-0176 2013-06-19
Fedora FEDORA-2013-10233 2013-06-23

Comments (none posted)

pki-tps: two vulnerabilities

Package(s):pki-tps CVE #(s):CVE-2013-1885 CVE-2013-1886
Created:June 6, 2013 Updated:June 12, 2013
Description:

From the Red Hat bugzilla entries [1, 2]:

CVE-2013-1885: It was reported that Certificate System suffers from XSS flaws in the /tus/ and /tus/tus/ URLs, such as:

GET /tus/tus/%22%2b%61%6c%65%72%74%28%34%38%32%36%37%29%2b%22

or

GET /tus/%22%2b%61%6c%65%72%74%28%36%31%34%35%32%29%2b%22

which will in turn output something like:

<!--
var uriBase = "/tus/"+alert(85384)+";
var userid = "admin";

This was reported against Certificate System 8.1 and may also affect Dogtag 9 and 10.

CVE-2013-1886: It was reported that Certificate System suffers from a format string injection flaw when viewing certificates. This could allow a remote attacker to crash the Certificate System server or, possibly, execute arbitrary code with the privileges of the user [running] the service (typically run as an unprivileged user, such as pkiuser).

Alerts:
Fedora FEDORA-2013-9258 2013-06-06

Comments (none posted)

pymongo: denial of service

Package(s):pymongo CVE #(s):CVE-2013-2132
Created:June 11, 2013 Updated:July 8, 2013
Description: From the Debian advisory:

Jibbers McGee discovered that pymongo, a high-performance schema-free document-oriented data store, is prone to a denial-of-service vulnerability. An attacker can remotely trigger a NULL pointer dereference causing MongoDB to crash.

Alerts:
Debian DSA-2705-1 2013-06-10
openSUSE openSUSE-SU-2013:1064-1 2013-06-21
Ubuntu USN-1897-1 2013-07-03
Mageia MGASA-2013-0201 2013-07-06
Red Hat RHSA-2013:1170-01 2013-08-21

Comments (none posted)

rubygem-passenger: insecure temp files

Package(s):rubygem-passenger CVE #(s):CVE-2013-2119
Created:June 11, 2013 Updated:July 10, 2013
Description: From the Red Hat bugzilla:

Michael Scherer reported that the passenger ruby gem, when used in standalone mode, does not use temporary files in a secure manner. In the lib/phusion_passenger/standalone/main.rb's create_nginx_controller function, passenger creates an nginx configuration file insecurely and starts nginx with that configuration file:

       @temp_dir        = "/tmp/passenger-standalone.#{$$}"
       @config_filename = "#{@temp_dir}/config"
If a local attacker were able to create a temporary directory that passenger uses and supply a custom nginx configuration file they could start an nginx instance with their own configuration file. This could result in a denial of service condition for a legitimate service or, if passenger were executed as root (in order to have nginx listen on port 80, for instance), this could lead to a local root compromise.
Alerts:
Fedora FEDORA-2013-9789 2013-06-11
Fedora FEDORA-2013-9771 2013-06-11
Mageia MGASA-2013-0205 2013-07-09
Red Hat RHSA-2013:1136-01 2013-08-05

Comments (none posted)

samba: multiple vulnerabilities

Package(s):samba CVE #(s):
Created:June 10, 2013 Updated:June 12, 2013
Description: From the openSUSE advisory:

  • - Add support for PFC_FLAG_OBJECT_UUID when parsing packets; (bso#9382).
  • - Fix "guest ok", "force user" and "force group" for guest users; (bso#9746).
  • - Fix 'map untrusted to domain' with NTLMv2;(bso#9817).
  • - Fix crash bug in Winbind; (bso#9854).
  • - Fix panic in nt_printer_publish_ads; (bso#9830).
Alerts:
openSUSE openSUSE-SU-2013:0916-1 2013-06-10

Comments (none posted)

subversion: denial of service

Package(s):subversion CVE #(s):CVE-2013-1968 CVE-2013-2112
Created:June 10, 2013 Updated:June 28, 2013
Description: From the Debian advisory:

CVE-2013-1968: Subversion repositories with the FSFS repository data store format can be corrupted by newline characters in filenames. A remote attacker with a malicious client could use this flaw to disrupt the service for other users using that repository.

CVE-2013-2112: Subversion's svnserve server process may exit when an incoming TCP connection is closed early in the connection process. A remote attacker can cause svnserve to exit and thus deny service to users of the server.

Alerts:
Debian DSA-2703-1 2013-06-09
Mandriva MDVSA-2013:173 2013-06-13
openSUSE openSUSE-SU-2013:1006-1 2013-06-14
Mageia MGASA-2013-0175 2013-06-19
Ubuntu USN-1893-1 2013-06-27
openSUSE openSUSE-SU-2013:1139-1 2013-07-04
Fedora FEDORA-2013-13672 2013-08-15
Gentoo 201309-11 2013-09-23

Comments (none posted)

wireshark: denial of service

Package(s):wireshark CVE #(s):CVE-2013-3561
Created:June 7, 2013 Updated:June 12, 2013
Description:

From the CVE database entry:

Multiple integer overflows in Wireshark 1.8.x before 1.8.7 allow remote attackers to cause a denial of service (loop or application crash) via a malformed packet, related to a crash of the Websocket dissector, an infinite loop in the MySQL dissector, and a large loop in the ETCH dissector.

Alerts:
Mageia MGASA-2013-0168 2013-06-06
openSUSE openSUSE-SU-2013:1084-1 2013-06-26
openSUSE openSUSE-SU-2013:1086-1 2013-06-26
Gentoo GLSA 201308-05:02 2013-08-30

Comments (none posted)

wireshark: multiple vulnerabilities

Package(s):wireshark CVE #(s):CVE-2013-4074 CVE-2013-4081 CVE-2013-4083
Created:June 12, 2013 Updated:September 30, 2013
Description: From the CVE entries:

The dissect_capwap_data function in epan/dissectors/packet-capwap.c in the CAPWAP dissector in Wireshark 1.6.x before 1.6.16 and 1.8.x before 1.8.8 incorrectly uses a -1 data value to represent an error condition, which allows remote attackers to cause a denial of service (application crash) via a crafted packet. (CVE-2013-4074)

The http_payload_subdissector function in epan/dissectors/packet-http.c in the HTTP dissector in Wireshark 1.6.x before 1.6.16 and 1.8.x before 1.8.8 does not properly determine when to use a recursive approach, which allows remote attackers to cause a denial of service (stack consumption) via a crafted packet. (CVE-2013-4081)

The dissect_pft function in epan/dissectors/packet-dcp-etsi.c in the DCP ETSI dissector in Wireshark 1.6.x before 1.6.16, 1.8.x before 1.8.8, and 1.10.0 does not validate a certain fragment length value, which allows remote attackers to cause a denial of service (application crash) via a crafted packet. (CVE-2013-4083)

Alerts:
Mandriva MDVSA-2013:172 2013-06-12
Debian DSA-2709-1 2013-06-17
Mageia MGASA-2013-0180 2013-06-26
Mageia MGASA-2013-0181 2013-06-26
Gentoo 201308-05 2013-08-28
Gentoo GLSA 201308-05:02 2013-08-30
Fedora FEDORA-2013-17661 2013-09-28

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