By Jake Edge
November 14, 2007
The media frenzy over Google's Android announcement has subsided, a bit, with
actual details of the platform and strategy starting to emerge. Android is
the long-rumored gPhone in a very different guise; instead of creating a
phone, Google has created the Open Handset Alliance (OHA) –
bringing together more than 30 different hardware and software companies
– to
develop a platform for mobile phones. That platform is Android, a
Linux-based, Java-programmed framework for developing mobile applications.
With this week's release of the Software Development Kit (SDK), we can now
see some sample code
as well as seeing how Google intends to attract developers to the platform.
Google has a stated intent to release "most of the components" of Android
under the Apache v2 license, but the "early look" SDK has a much more stringent
license. The
license terms appear to give the OHA and Google some wiggle room regarding
pieces of the software that they may not be willing or able to release
under the Apache license, but a strict reading will worry free software
folks. Some of the components of Android, Linux
in particular, are released under other licenses, so the most charitable
interpretation is that "most" is referring to those non-Apache-licensed
components, but it will be a while before we know.
The SDK comes with lots of sample code for applications, but none for the
tools that come with it; that will presumably come later. Probably the
most interesting piece of Android is the Dalvik
virtual machine (VM), which handles running the Java applications, but is not a
Java virtual machine (JVM). Instead, Dalvik takes the .class and
.jar files produced by the Java compiler and turns them into
Dalvik executable (.dex) files.
Dalvik is a register-based VM – unlike Java's stack-based
implementation –
that was created with a focus on minimizing the memory footprint. There
may be optimizations possible with Dalvik's model that are not possible for
JVM bytecode, but there may also be another motive for Android having its
own VM: it is not subject to the Sun-controlled Java Community Process.
Google is trying to leverage developer knowledge and understanding of the
Java language and class libraries, without, necessarily, rigorously following the Java "standard".
Android uses the Apache Harmony
class libraries to provide compatibility with Java Standard Edition (Java
SE). There is an ongoing dispute between the Apache foundation and Sun
regarding certification of the Harmony code as Java SE compatible, but that
appears not to be much of a concern for Google and the OHA. It will be
interesting to see if Sun's recent
patent beliefs extend to implementations of Java SE that might infringe
their patents.
Java Micro Edition (Java ME) runs on a large number of mobile phones today,
but has been fragmented by the various phone vendors, breaking the (mostly
illusory) "write once, run anywhere" promise that Java popularized. Though
an Apache license won't prohibit that kind of fragmentation, the OHA
requires its members to agree not to fragment the Android platform. That
agreement has not been made public and likely lacks any teeth to punish
violators, but it does serve as a statement of intent. It is clear that
Google and the other OHA members
have learned from the Java ME implementations in current phones and have
something fairly different in mind.
The key to success of the Android platform will be in the applications that
get built for it. If Android phones have enough unique and interesting
tools, customers will seek it out – at least in theory. The early
release of the SDK, long before real hardware is available, is part of the
strategy to attract developers. Google has also put up $10 million for bounties
as part of the Android
Developer Challenge. Developers can enter their applications until
March 3, with the best 50 receiving $25,000 each. Those winners will then be
eligible for even larger, six-figure, awards after handsets are available in the second
half of 2008.
Money is certain to motivate some to write Android applications, but an
easy-to-program interface based on an open platform will be enough for
others. Android is definitely being touted as being easy to develop for, with
one of the introductory videos showing a few sample programs that were
claimed to be completed in a day. The SDK comes with an emulator that
allows developing and debugging without access to phone hardware. Screenshots
of different emulator "skins", which represent different hypothetical handset
models, accompany this article.
The project community is,
unsurprisingly, hosted at code.google.com. The site is already
active, just a few days after the release, with an impressive amount of
documentation available. The discussion group has quite a bit of traffic
with questions, bug reports, and ideas for additional functionality.
One recent poster had ported busybox
to Android, making all of the normal UNIX command-line tools available in
the emulator.
Android is a bold move that strikes at the heart of some entrenched
interests, most notably Sun, but Apple (perhaps only recently entrenched)
as well. Other mobile phone OS vendors, Symbian and Microsoft for example,
could be hurt by widespread Android adoption as well. There is the
ever-present threat of patent litigation getting in the way, but the
backing of Google and the other OHA members should help to blunt that kind
of attack. The real question is whether Android offers something
compelling to both developers and users. The handset makers and cellular
carriers will also need to do more than just join an alliance too; phones
will need to be created and sold.
Unfortunately, the real losers in this could be OpenMoko and Qtopia. Both are free software platforms for
mobile phones, but neither has been able to generate the publicity that
Google has. At a fundamental level, Android takes a different approach,
requiring all applications to run atop Dalvik, whereas OpenMoko and Qtopia both
allow for native code, compiled from C or C++. Each allows the possibility
of porting applications from other platforms, but it is likely that there
are far more mobile phone Java applications than the others, which might
give Android a leg up. It is certainly possible to run a
Java VM (or even a Dalvik VM) on OpenMoko or Qtopia, which might open those
platforms up to more applications, but the Android initiative has the
appearance of a juggernaut – at least in the early going.
Java may offer some security advantages as well. Native code cannot be
sandboxed easily so it will be easier to write malware for platforms that
support it. The mobile phone malware "industry" is still in its infancy,
but we can expect to see more of it as more sophisticated phones get into the
hands of more security-unconscious users.
While iPhone users still wait for the ability to build applications for
their phone, free software users have multiple choices of development
platforms. The Neo 1973 hardware from OpenMoko is getting closer to
availability for end users, with at least two software stacks available.
It certainly wouldn't be too surprising to see Android ported to the Neo as
well, though no official word has been heard as of yet. It is an exciting
time for free software and for mobile phone users as we have just
begun to see what the community can do in this space. With luck, there
will be room for multiple free mobile platforms, avoiding a monoculture, as
well.
Comments (13 posted)
November 13, 2007
This article was contributed by Glyn Moody
The OpenDocument Foundation was formed in 2005, with the mission "to
provide a conduit for funding and support for individual contributors to
participate in ODF development" at the standards body OASIS.
So, at a time when backing for the ODF format seems to be gaining in
strength around the world, eyebrows were naturally raised when Sam Hiser, the
Foundation's Vice President and Director of Business Affairs,
wrote on October 16 that it was no longer supporting ODF:
We at the OpenDocument Foundation have been displeased with the direction
of ODF development this year. We find that ODF is not the open format with
the open process we thought it was or originally intended it to be.
Microsoft's Jason Matusow naturally allowed himself a little Schadenfreude,
Mary Jo Foley waxed apocalyptic, speculating
that "the ODF camp might unravel before Microsoft's rival Office Open XML
(OOXML) comes up for final international vote early next year," and IBM's
Rob Weir provided a characteristically witty point-by-point criticism
of the group's reasoning behind its move, dubbing the OpenDocument
Foundation "two guys without a garage", in a nod to the "mythology of
Silicon Valley" and its history of "two guys in a garage founding great
enterprises."
Meanwhile, in an attempt to understand what was going on, standards expert
Andy Updegrove tried applying
Occam's Razor:
The simplest explanation would appear to be simply that when the
Foundation's founders decided to turn out the lights, they decided to poke
a sharp stick in the eye of those that had rejected their approach.
That seems a little hard to believe, though, given the years of hard work
put in by Foundation members in support of ODF. For example, Hiser notes
that he worked on the OpenOffice.org project "from 2001 through its
20-millionth download. I was OpenOffice.org's Marketing Project
Lead...back when people said 'Open What?'" Moreover, if the Foundation had
really wanted to wield a sharp stick, it could have done so far more
effectively by announcing its break earlier. As Hiser points out: "I was
supportive of ODF into the summer in order to avoid negative attention for
ODF leading up to the September ISO vote on OOXML."
The roots of the Foundation's decision to abandon the ODF format in favour
of the little-known Compound Document
Formats (CDF) from the W3C go back to one of the most fraught and
painful episodes in the history of open source and open standards: the attempt
by the Commonwealth of Massachusetts to adopt the ODF format. Hiser was in
the thick of it:
I was the outside consultant working with Mass ITD [Information Technology
Division] between Nov 2005 & June 2006 on their Pilot of ODF-ready
software. (We are bound by NDA so I can't go into details.) What you do
know already is that the Pilot ended with [Massachusetts CIO] Louis
Gutierrez putting out a Request For Information ("RFi") for an ODF Plugin
for MS Office. That tells you what? That ODF-ready software like
OpenOffice.org worked splendidly in ITD? The RFi was a cry for help to the
free software community to get what Sun and others decided not to provide:
interoperabilidad!
Sun's Chief Open Source Officer, Simon Phipps, begs to differ:
Sun sees interoperability for OpenOffice.org as hugely important and has
contributed vast amounts of code to the community to make it possible. Most
of the interoperability support to date has been implemented by Sun
engineers, and Sun continues to invest heavily in this essential
capability, seeking to get it as close to 100% as is technically possible.
The main bone of contention between the OpenDocument Foundation and the
rest of the community supporting ODF comes down to the issue of whether
"100%", full-fidelity interoperability with Microsoft Office is achievable
or even desirable. For example, Weir wrote:
I would not claim a priori that all customers require lossless, 100%
fidelity conversions. Remember, we do not see 100% fidelity even when
upgrading from Office 2003 to Office 2007, but this appears to be
adequate. What is required is that the total return from changing document
formats exceeds any other profitable use of capital available to the
enterprise.
The Foundation's position was explained
by its President, Gary Edwards:
We had to have perfect fidelity because there was no reasonable expectation
of ever successfully migrating those business processes to a Microsoft
Office alternative like ODF-ready OpenOffice.org, StarOffice, WorkPlace or
Novell Office. Such a re-engineering of the business processes would be
costly and beyond disruptive.
If however we could achieve full fidelity conversions of legacy Microsoft
binary documents to ODF, and were able to guarantee the roundtrip process
of these newly christened ODF documents in a mixed desktop environment, one
comprised of ODF-enabled Microsoft Office, OpenOffice.org, Novell Office,
WorkPlace, and KOffice, the existing MSOffice bound business processes
could continue being used even as new ODF ready workstations were added to
the workflow. Massachusetts could migrate to non-Microsoft Office software
in manageable phases, restoring competition -- and sanity -- to the
Commonwealth's software procurement program.
If on the other hand, there is no full fidelity conversion to ODF of legacy
documents available at the head point of the migration -- Microsoft Office
-- then the business process will break under the weight of users having to
stop everything to fix and repair the artifacts of lossy file
conversions. What Massachusetts discovered is that users will immediately
revert to a Microsoft-only process wherever the business process system
breaks down due to conversion fidelity problems. It is a productivity
killer and a show stopper for migration to ODF-supporting software.
This line of thinking probably explains the widespread incomprehension that
greeted the Foundation's decision to abandon ODF. Supporters of the latter
believe that it is by far the best document format, one that provides
numerous benefits to users, notably freedom from lock-in. Hiser couldn't
agree more: "We don't want OOXML to ever see the light of day, and
certainly we feel deeply that it needs to be rejected by ISO finally and
conclusively." But he adds:
Whatever happens at ISO, though, the market
is where acceptance of OOXML is inevitable. The clock is ticking as the
major governments that are trying to adopt ODF are finding it quite taxing
on a practical level (Mass, Denmark, Belgium). Each one is drifting from
ODF-only policies to ODF + OOXML. This is because OpenOffice.org
installation is not enough to overcome the sticky business processes in
workgroups across the extended enterprise.
In companies running the Microsoft enterprise stack, those "sticky business
processes" are defined and stored in a program that has a surprisingly low
profile, but which may well turn out to be the biggest emerging threat to
open source: Sharepoint. One
perceptive observer, Alfresco's Matt Asay, had already spotted
that threat 18 months ago, and is just as worried today:
The more content you put in - whatever the individual file formats - the
harder it is to get it out, because you're locking it into both a closed
repository *and* a closed Microsoft ecosystem. Even if you manage to get
your content out of Sharepoint it's still set to work on SQL Server with
IIS/ActiveDirectory, etc. Closed. Closed. Closed.
Even worse, this same lock-in applies to any ODF documents the user might
have. As Asay explains:
Let's assume you store data in ODF in a Sharepoint repository. It doesn't
matter that ODF is an open format. The repository holding it is
proprietary, and that proprietary lock-in is doubled by the fact that the
enterprise will build (proprietary, non-standard) workflows to manage that
content which keeps content a prisoner to Microsoft.
In other words, the lock-in occurs not at the document level - the one the
ODF community is most focused on - but at the level of the workflow. If
companies can't export their documents with ease and with perfect fidelity,
the Foundation believes, they will simply opt for the default Microsoft
solution - Sharepoint - and become trapped by workflow lock-in. This is
why the Hiser and his colleagues have shifted their support away from ODF
to CDF, which they think could allow companies to export Microsoft Office
documents with perfect fidelity into other, truly open workflow systems.
Asay's explains the difference with reference to his own company's product:
Alfresco is open source, open standards, and open ecosystem. If you choose
to leave Alfresco, your content easily goes with you and you can take it to
whatever repository you want. We run on any database, any application
server, any directory service, any security protocol, etc. Our customers
get to choose best of breed components, rather than being forced into a
closed ecosystem.
The Foundation believes that the ODF format could have addressed this issue
had it added certain extensions
to the standard to provide perfect interoperability with Microsoft's Office
documents. Some, like Weir, doubt this:
If I thought, as the Foundation
claims, that 5 simple changes to ODF would make it perfectly compatible
with MS Office, then I would be 100% behind their proposal. I'd have no
hesitation. However, I don't think their claims hold water.
Given the reluctance of the ODF community to take that route, the
Foundation hopes to blunt the Sharepoint threat by combining the CDF format
with some code it had already written for use with ODF files, called the
"da
Vinci" plugin. Hiser explains where the name came from:
The thing about the plugin is we've cracked the secret of Microsoft's
format - there's something we call Secret RTF. You know how MS has had
dozens and dozens of formats - how do you think you would keep your head
straight? You have one format you check in on, and it checks in on Secret
RTF. We've cracked the code, which is why we've called this da Vinci."
It is the da Vinci plugin, the Foundation claims, that will allow perfect
interoperability with Microsoft's Office files, which in turn will allow
such documents to be taken out of the Microsoft ecosystem into open workflow
software without users seeing any loss of fidelity. Partly because of the
grand claims made for it, the plugin has been the cause of much of the
skepticism surrounding the Foundation's ideas and future plans. As Weir wrote:
Why isn't [da Vinci] open source? Are we to follow the Foundation's claim
of 100% interoperability, based on blind faith, without seeing some proof
in the form of working code? I've been working on document conversions and
document file formats of one kind or another for almost 20 years. I've
never seen 100% fidelity conversions of anything but trivial
formats. Extraordinary claims require extraordinary evidence. But we have
nothing here, just white papers.
Hiser explains that in fact they had intended to release it as open source:
"we actually agreed to open source it, and Massachusetts said, 'oh, great,
OK'. And then the vendors that Louis [Gutierrez] asked to fund it walked
away. When Louis resigned, we stopped doing work."
With the start of the CDF project, Hiser and Edwards have new priorities:
"The reason for not opening sourcing it [now] is not because we're going to
make a million dollars, although that's one of our goals too. We are
business people: we need to fund the business that sells products, and we
have to do that in about that magnitude to sustain our developing
capabilities, and to feed our families." They will also be coming up with
a new name for the now-defunct OpenDocument Foundation: "It takes time to
do a total brand and corporate make-over," Hiser says, "but that's
underway. I'm leaning toward 'Two Guys Without a Garage LLC'."
Whether or not CDF is the right
format, whether the da Vinci plugin can provide 100% interoperability,
and whether the new company of Hiser and Edwards will flourish, remains to
be seen. In any case, the dramatic decision to break with the ODF
community, and the attendant publicity it has garnered,
may have already achieved something beneficial, for it has helped to direct
attention towards the hitherto largely under-appreciated threat that
Microsoft's Sharepoint represents for open source, open documents and open
standards in the enterprise.
Asay has some thoughts on what must be done to meet that threat:
We need
open-source companies and projects tightly integrating with each
other. Alfresco + Jboss Portal + Red Hat Linux + JasperSoft would be a
pretty compelling alternative to Sharepoint, as would other
combinations. Alfresco plans to continue building out (and exceeding)
Sharepoint functionality, and we'll start to message against Sharepoint in
2008. But it really requires that a community engage against Sharepoint,
and not just one company.
Weir agrees, and even sees an downside to Microsoft's huge installed base
of Office users:
From the FOSS perspective I think our greatest strength
is that we do not have the legacy base that Microsoft has. Sure, this is a
revenue stream for Microsoft, but it is also a huge burden. Microsoft
cannot move as fast or innovate as fast as they would like to, since they
have so many legacy documents and legacy users to worry about. I think FOSS
can and should try to out-innovate Microsoft.
Clearly, then, now is a
good time for two guys with - or even without - a garage to get coding, and
found that great open source enterprise.
Glyn Moody writes about open source at opendotdotdot.
Comments (11 posted)
November 14, 2007
This article was contributed by Ulrich Drepper
[
Editor's note: Here, at last, is the final segment of Ulrich Drepper's
"What every programmer should know about memory." This eight-part series
began back in September. The
conclusion of this document looks at how future technologies may help to
improve performance as the memory bottleneck continues to worsen.
We would like to thank Ulrich one last time for giving LWN the
opportunity to help shape this document and bring it to our readers.
Ulrich plans to post the entire thing in PDF format sometime in the near
future; we'll carry an announcement when that happens.]
8 Upcoming Technology
In the preceding sections about multi-processor handling we have seen that
significant performance problems must be expected if the number of CPUs
or cores is scaled up. But this scaling-up is exactly what has to be expected in
the future. Processors will get more and more cores, and programs must
be ever more parallel to take advantage of the increased potential of
the CPU, since single-core performance will not rise as quickly as
it used to.
8.1 The Problem with Atomic Operations
Synchronizing access to shared data structures is traditionally done
in two ways:
- through mutual exclusion, usually by using functionality of the
system runtime to achieve just that;
- by using lock-free data structures.
The problem with lock-free data structures is that the processor has
to provide primitives which can perform the entire operation
atomically. This support is limited. On most architectures support
is limited to atomically read and write a word. There are two basic
ways to implement this (see Section 6.4.2):
- using atomic compare-and-exchange (CAS) operations;
- using a load lock/store conditional (LL/SC) pair.
It can be easily seen how a CAS operation can be implemented using
LL/SC instructions. This makes CAS operations the building block for
most atomic operations and lock free data structures.
Some processors, notably the x86 and x86-64 architectures, provide a
far more elaborate set of atomic operations. Many of them are
optimizations of the CAS operation for specific purposes. For
instance, atomically adding a value to a memory location can be
implemented using CAS and LL/SC operations, but the native support for
atomic increments on x86/x86-64 processors is faster. It is important for
programmers to know about these operations, and the intrinsics which
make them available when programming, but that is nothing new.
The extraordinary extension of these two architectures is that they
have double-word CAS (DCAS) operations. This is significant for some
applications but not all (see [dcas]). As an example of how DCAS
can be used, let us try to write a lock-free array-based stack/LIFO
data structure. A first attempt using gcc's intrinsics can be seen in
Figure 8.1.
struct elem {
data_t d;
struct elem *c;
};
struct elem *top;
void push(struct elem *n) {
n->c = top;
top = n;
}
struct elem *pop(void) {
struct elem *res = top;
if (res != NULL)
top = res->c;
return res;
}
Figure 8.1: Not Thread-Safe LIFO
This code is clearly not thread-safe. Concurrent accesses in
different threads will modify the global variable top without
consideration of other thread's modifications. Elements could be lost
or removed elements can magically reappear. It is possible to use
mutual exclusion but here we will try to use only atomic operations.
The first attempt to fix the problem uses CAS operations when
installing or removing list elements. The resulting code looks like
Figure 8.2.
#define CAS __sync_bool_compare_and_swap
struct elem {
data_t d;
struct elem *c;
};
struct elem *top;
void push(struct elem *n) {
do
n->c = top;
while (!CAS(&top, n->c, n));
}
struct elem *pop(void) {
struct elem *res;
while ((res = top) != NULL)
if (CAS(&top, res, res->c))
break;
return res;
}
Figure 8.2: LIFO using CAS
At first glance this looks like a working solution. top is
never modified unless it matches the element which was at the top of
the LIFO when the operation started. But we have to take concurrency
at all levels into account. It might be that another thread working
on the data structure is scheduled at the worst possible moment. One
such case here is the so-called ABA problem. Consider what happens if a second thread
is scheduled right before the CAS operation in pop and it
performs the following operation:
- l = pop()
- push(newelem)
- push(l)
The end effect of this operation is that the former top element of the
LIFO is back at the top but the second element is different. Back in
the first thread, because the top element is unchanged, the CAS
operation will succeed. But the value res->c is not
the right one. It is a pointer to the second element of the original
LIFO and not newelem. The result is that this new element is
lost.
In the literature [lockfree] you find suggestions to use a feature
found on some processors to work around this problem. Specifically,
this is about the ability of the x86 and x86-64 processors to perform
DCAS operations. This is used in the third incarnation of the code in
Figure 8.3.
#define CAS __sync_bool_compare_and_swap
struct elem {
data_t d;
struct elem *c;
};
struct lifo {
struct elem *top;
size_t gen;
} l;
void push(struct elem *n) {
struct lifo old, new;
do {
old = l;
new.top = n->c = old.top;
new.gen = old.gen + 1;
} while (!CAS(&l, old, new));
}
struct elem *pop(void) {
struct lifo old, new;
do {
old = l;
if (old.top == NULL) return NULL;
new.top = old.top->c;
new.gen = old.gen + 1;
} while (!CAS(&l, old, new));
return old.top;
}
Figure 8.3: LIFO using double-word CAS
Unlike the other two examples, this is (currently) pseudo-code since
gcc does not grok the use of structures in the CAS intrinsics.
Regardless, the example should be sufficient understand the approach.
A generation counter is added to the pointer to the top of the LIFO.
Since it is changed on every operation, push or pop, the
ABA problem described above is no longer a problem. By the time the
first thread is resuming its work by actually exchanging the top
pointer, the generation counter has been incremented three times. The
CAS operation will fail and, in the next round of the loop, the correct
first and second element of the LIFO are determined and the LIFO is
not corrupted. Voilà.
Is this really the solution? The authors of [lockfree] certainly
make it sound like it and, to their credit, it should be mentioned that
it is possible to construct data structures for the LIFO which would
permit using the code above. But, in general, this approach is just as
doomed as the previous one. We still have concurrency problems, just
now in a different place. Let us assume a thread executes pop
and is interrupted after the test for old.top == NULL.
Now a second thread uses pop and receives ownership of the
previous first element of the LIFO. It can do anything with it,
including changing all values or, in case of dynamically allocated
elements, freeing the memory.
Now the first thread resumes. The old variable is still filled
with the previous top of the LIFO. More specifically, the top
member points to the element popped by the second thread. In
new.top = old.top->c the first thread dereferences a
pointer in the element. But the element this pointer references might
have been freed. That part of the address space might be inaccessible
and the process could crash. This cannot be allowed for a generic data
type implementation. Any fix for this problem is terribly expensive:
memory must never be freed, or at least it must be verified that no
thread is referencing the memory anymore before it is freed. Given
that lock-free data structures are supposed to be faster and more
concurrent, these additional requirements completely destroy any
advantage. In languages which support it, memory handling through
garbage collection can solve the problem, but this comes with its price.
The situation is often worse for more complex data structures. The
same paper cited above also describes a FIFO implementation (with
refinements in a successor paper). But this code has all the same
problems. Because CAS operations on existing hardware (x86,
x86-64)
are limited to modifying two words which are consecutive in memory,
they are no help at all in other common situations. For instance,
atomically adding or removing elements anywhere in a double-linked list is not
possible. {As a side note, the developers of the IA-64 did
not include this feature. They allow comparing two
words, but replacing only one.}
The problem is that more than one memory address is generally involved,
and only if none of the values of these addresses is changed
concurrently can the entire operation succeed. This is a well-known
concept in database handling, and this is exactly where one of the most
promising proposals to solve the dilemma comes from.
8.2 Transactional Memory
In their groundbreaking 1993 paper [transactmem] Herlihy and Moss
propose to implement transactions for memory operations in hardware
since software alone cannot deal with the problem efficiently.
Digital Equipment Corporation, at that time, was already battling with
scalability problems on their high-end hardware, which featured a few
dozen processors. The principle is the same as for database
transactions: the result of a transaction becomes visible all at once
or the transaction is aborted and all the values remain unchanged.
This is where memory comes into play and why the previous section
bothered to develop algorithms which use atomic operations.
Transactional memory is meant as a replacement for—and extension of—atomic
operations in many situations, especially for lock-free data
structures. Integrating a transaction system into the processor
sounds like a terribly complicated thing to do but, in fact, most
processors, to some extent, already have something similar.
The LL/SC operations implemented by some processors form a transaction.
The SC instruction aborts or commits the transaction based on whether
the memory location was touched or not. Transactional memory is an
extension of this concept. Now, instead of a simple pair of instructions,
multiple instructions take part in the transaction. To understand how
this can work, it is worthwhile to first see how LL/SC instructions can
be implemented. {This does not mean it is actually implemented
like this.}
8.2.1 Load Lock/Store Conditional Implementation
If the LL instruction is issued, the value of the memory location is
loaded into a register. As part of that operation, the value is loaded into L1d. The
SC instruction later can only succeed if this value has not been
tampered with. How can the processor detect this? Looking back at
the description of the MESI protocol in Figure 3.18 should make the answer
obvious. If another processor changes the value of the
memory location, the copy of the value in L1d of the first processor
must be revoked. When the SC instruction is executed on the first
processor, it will find it has to load the value again into L1d. This
is something the processor must already detect.
There are a few more details to iron out with respect to context
switches (possible modification on the same processor) and accidental
reloading of the cache line after a write on another processor. This
is nothing that policies (cache flush on context switch) and extra
flags, or separate cache lines for LL/SC instructions, cannot fix. In
general, the LL/SC implementation comes almost for free with the
implementation of a cache coherence protocol like MESI.
8.2.2 Transactional Memory Operations
For transactional memory to be generally useful, a transaction must not
be finished with the first store instruction. Instead, an
implementation should allow a certain number of load and store
operations; this means we need separate commit and abort
instructions. In a bit we will see that we need one more instruction
which allows checking on the current state of the transaction and
whether it is already aborted or not.
There are three different memory operations to implement:
- Read memory
- Read memory which is written to later
- Write memory
When looking at the MESI protocol it should be clear how this special
second type of read operation can be useful. The normal read can be
satisfied by a cache line in the `E' and `S' state. The second type
of read operation needs a cache line in state `E'. Exactly why the
second type of memory read is necessary can be glimpsed from the
following discussion, but, for a more complete description, the
interested reader is referred to literature about transactional
memory, starting with [transactmem].
In addition, we need transaction handling which mainly consists
of the commit and abort operation we are already familiar with from database
transaction handling. There is one more operation, though, which is
optional in theory but required for writing robust programs using
transactional memory. This instruction lets a thread test whether the
transaction is still on track and can (perhaps) be committed later, or
whether the transaction already failed and will in any case be
aborted.
We will discuss how these operations actually interact with the CPU
cache and how they match to bus operation. But before we do that we take a
look at some actual code which uses transactional memory. This will
hopefully make the remainder of this section easier to understand.
8.2.3 Example Code Using Transactional Memory
For the example we revisit our running example and show a LIFO
implementation which uses transactional memory.
struct elem {
data_t d;
struct elem *c;
};
struct elem *top;
void push(struct elem *n) {
while (1) {
n->c = LTX(top);
ST(&top, n);
if (COMMIT())
return;
... delay ...
}
}
struct elem *pop(void) {
while (1) {
struct elem *res = LTX(top);
if (VALIDATE()) {
if (res != NULL)
ST(&top, res->c);
if (COMMIT())
return res;
}
... delay ...
}
}
Figure 8.4: LIFO Using Transactional Memory
This code looks quite similar to the not-thread-safe code, which is an
additional bonus as it makes writing code using transactional memory
easier. The new parts of the code are the LTX, ST,
COMMIT, and VALIDATE operations. These four operations
are the way to request accesses to transactional memory. There is
actually one more operation, LT, which is not used here.
LT requests non-exclusive read access, LTX requests
exclusive read access, and ST is a store into transactional memory.
The VALIDATE operation is the operation which checks whether the
transaction is still on track to be committed. It returns true if
this transaction is still OK. If the transaction is already marked as
aborting, it will be actually aborted and the next transactional memory
instruction will start a new transaction. For this reason, the code uses a
new if block in case the transaction is still going on.
The COMMIT operation finishes the transaction; if the
transaction is finished successfully the operation returns true. This
means that this part of the program is done and the thread can move on.
If the operation returns a false value, this usually means the whole
code sequence must be repeated. This is what the outer while
loop is doing here. This is not absolutely necessary, though, in some
cases giving up on the work is the right thing to do.
The interesting point about the LT, LTX, and ST
operations is that they can fail without signaling this failure in any
direct way. The way the program can request this information is through
the VALIDATE or COMMIT operation. For the load operation,
this can mean that the value actually loaded into the register might be
bogus; that is why it is necessary in the example above to use
VALIDATE before dereferencing the pointer. In the next section,
we will see why this is a wise choice for an implementation. It might
be that, once transactional memory is actually widely available, the
processors will implement something different. The results from
[transactmem] suggest what we describe here, though.
The push function can be summarized as this: the transaction is
started by reading the pointer to the head of the list. The read
requests exclusive ownership since, later in the function, this variable
is written to. If another thread has already started a transaction, the
load will fail and mark the still-born transaction as aborted; in this
case, the
value actually loaded might be garbage. This value is, regardless of
its status, stored in the next field of the new list member.
This is fine since this member is not yet in use, and it is accessed by
exactly one thread. The pointer to the head of the list is then
assigned the pointer to the new element. If the transaction is
still OK, this write can succeed. This is the normal case, it can only
fail if a thread uses some code other than the provided push and
pop functions to access this pointer.
If the transaction
is already aborted at the time the ST is executed, nothing at
all is done. Finally, the thread tries to commit the transaction. If
this succeeds the work is done; other threads can now start their
transactions. If the transaction fails, it must be repeated from the
beginning. Before doing that, however, it is best to insert an delay. If this
is not done the thread might run in a busy loop (wasting energy,
overheating the CPU).
The pop function is slightly more complex. It also starts with
reading the variable containing the head of the list, requesting
exclusive ownership. The code then immediately checks whether the
LTX operation succeeded or not. If not, nothing else is done in
this round except delaying the next round. If the top pointer
was read successfully, this means its state is good; we can now
dereference the pointer. Remember, this was exactly the problem with
the code using atomic operations; with transactional memory this case
can be handled without any problem. The following ST operation
is only performed when the LIFO is not empty, just as in the original,
thread-unsafe code. Finally the transaction is committed. If this
succeeds the function returns the old pointer to the head; otherwise
we delay and retry. The one tricky part of this code is to remember
that the VALIDATE operation aborts the transaction if it has
already failed. The next transactional memory operation would start a
new transaction and, therefore, we must skip over the rest of the code
in the function.
How the delay code works will be something to see when
implementations of transactional memory are available in hardware. If
this is done badly system performance might suffer significantly.
8.2.4 Bus Protocol for Transactional Memory
Now that we have seen the basic principles behind transactional memory,
we can dive into the details of the implementation. Note that this is
not based on actual hardware. It is based on the original
design of transactional memory and knowledge about the cache
coherency protocol. Some details are omitted, but it still should be
possible to get insight into the performance characteristics.
Transactional memory is not actually implemented as separate
memory; that would not make any sense given that transactions on
any location in a thread's address space are wanted. Instead, it is
implemented at the first cache level. The implementation could, in
theory, happen in the normal L1d but, as [transactmem] points out,
this is not a good idea. We will more likely see the transaction cache
implemented in parallel to L1d. All accesses will use the higher
level cache in the same way they use L1d. The transaction
cache is likely much smaller than L1d. If it is fully associative its
size is determined by the number of operations a transaction can
comprise. Implementations will likely have limits for the
architecture and/or specific processor version. One could easily
imagine a transaction cache with 16 elements or even less. In the
above example we only needed one single memory location; algorithms
with a larger transaction working sets get very complicated. It is possible that
we will see processors which support more than one active transaction
at any one time. The number of elements in the cache then
multiplies, but it is still small enough to be fully associative.
The transaction cache and L1d are exclusive. That means a cache line
is in, at most, one of the caches but never in both. Each slot in the
transaction cache is in, at any one time, one of the four MESI
protocol states. In addition to this, a slot has a transaction state. The
states are as follows (names according to [transactmem]):
- EMPTY
-
the cache slot contains no data. The MESI state is
always 'I'.
- NORMAL
- the cache slot contains committed data. The data could
as well exist in L1d. The MESI state can be 'M', 'E', and 'S'. The
fact that the 'M' state is allowed means that transaction commits do
not force the data to be written into the main memory (unless
the memory region is declared as uncached or write-through). This
can significantly help to increase performance.
- XABORT
- the cache slot contains data which is discarded on
abort. This is obviously the opposite of XCOMMIT. All the data
created during a transaction is kept in the transaction cache,
nothing is written to main memory before a commit. This limits the
maximum transaction size but it means that, beside the transaction
cache, no other memory has to be aware of the XCOMMIT/XABORT duality
for a single memory location. The possible MESI states are 'M',
'E', and 'S'.
- XCOMMIT
- the cache slot contains data which is discarded on
commit. This is a possible optimization processors could implement.
If a memory location is changed using a transaction operation, the
old content cannot be just dropped: if the transaction fails the old
content needs to be restored. The MESI states are the same as for
XABORT. One difference with regard to XABORT is that, if the transaction
cache is full, any XCOMMIT entries in the 'M' state could be written back to memory
and then, for all states, discarded.
When an LT operation is started, the processor allocates two slots
in the cache. Victims are chosen by first looking for NORMAL slots
for the address of the operation, i.e., a cache hit. If such an entry
is found, a second slot is located, the value copied, one entry is
marked XABORT, and the other one is marked XCOMMIT.
If the address is not already cached, EMPTY cache slots are located. If
none can be found, NORMAL slots are looked for. The old content must
then be flushed to memory if the MESI state is 'M'. If no NORMAL slot
is available either, it is possible to victimize XCOMMIT entries. This
is likely going to be an implementation detail, though. The maximum
size of a transaction is determined by the size of the transaction
cache, and, since the number of slots which are needed for each
operation in the transaction is fixed, the number of transactions can
be capped before having to evict XCOMMIT entries.
If the address is not found in the transactional cache, a
T_READ request is issued on the bus. This is just like the normal
READ bus request, but it indicates that this is for the transactional
cache. Just like for the normal READ request, the caches in all
other processors first get the chance to respond. If none does the
value is read from the main memory. The MESI protocol determines
whether the state of the new cache line is 'E' or 'S'. The difference
between T_READ and READ comes into play when the cache line is
currently in use by an active transaction on another processor or
core. In this case the T_READ operation plainly fails, no data is
transmitted. The transaction which generated the T_READ bus request is
marked as failed and the value used in the operation (usually a simple
register load) is undefined. Looking back to the example, we can see
that this behavior does not cause problems if the transactional memory
operations are used correctly. Before a value loaded in a transaction
is used, it must be verified with VALIDATE. This is, in
almost no cases, an extra burden. As we have seen in the attempts to
create a FIFO implementation using atomic operations, the check which
we added is the one missing feature which would make the lock-free
code work.
The LTX operation is almost identical to LT. The one
difference is that the bus operation is T_RFO instead of T_READ.
T_RFO, like the normal RFO bus request, requests exclusive ownership
of the cache line. The state of the resulting cache line is 'E'. Like the
T_READ bus request, T_RFO can fail, in which case the used value is
undefined, too. If the cache line is already in the local transaction
cache with 'M' or 'E' state, nothing has to be done. If the state in
the local transaction cache is 'S' the bus request has to go out to
invalidate all other copies.
The ST operation is similar to LTX. The value is first
made available exclusively in the local transaction cache. Then the
ST operation makes a copy of the value into a second slot in the
cache and marks the entry as XCOMMIT. Lastly, the other slot is marked
as XABORT and the new value is written into it. If the transaction is
already aborted, or is newly aborted because the implicit LTX
fails, nothing is written.
Neither the VALIDATE nor COMMIT operations automatically
and implicitly create bus operations. This is the huge advantage
transactional memory has over atomic operations. With atomic operations,
concurrency is made possible by writing changed values back
into main memory. If you have read this document thus far, you should
know how expensive this is. With transactional memory, no
accesses to the main memory are forced. If the cache has no EMPTY
slots, current content must be evicted, and for slots in
the 'M' state, the content must be written to main memory. This is not
different from regular caches, and the write-back can be performed
without special atomicity guarantees. If the cache size is sufficient,
the content can survive for a long time. If transactions are
performed on the same memory location over and over again, the speed
improvements can be astronomical since, in the one case, we have one or
two main memory accesses in each round while, for transactional memory, all
accesses hit the transactional cache, which is as fast as L1d.
All the VALIDATE and COMMIT operations do for an
aborted transaction is to mark the cache slots marked XABORT as empty
and mark the XCOMMIT slots as NORMAL. Similarly, when COMMIT
successfully finishes a transaction, the XCOMMIT slots are marked empty
and the XABORT slots are marked NORMAL. These are very fast
operations on the transaction cache. No explicit notification to
other processors which want to perform transactions happens; those
processors just have to keep trying. Doing this efficiently is
another matter. In the example code above we simply have
...delay... in the appropriate place. We might see actual
processor support for delaying in a useful way.
To summarize, transactional memory operations cause bus operation only
when a new transaction is started and when a new cache line, which is
not already in the transaction cache, is added to a still-successful
transaction. Operations in aborted transactions do not cause bus
operations. There will be no cache line ping-pong due to multiple
threads trying to use the same memory.
8.2.5 Other Considerations
In Section 6.4.2, we already discussed how the lock prefix,
available on x86 and x86-64, can be used to avoid the coding of atomic
operations in some situations. The proposed tricks falls short, though,
when there are multiple threads in use which do not contend for
the same memory. In this case, the atomic operations are used unnecessarily.
With transactional memory this problem goes away. The
expensive RFO bus requests are issued only if memory is used on
different CPUs concurrently or in succession; this is only
the case when they are needed. It is almost impossible to do any better.
The attentive reader might have wondered about delays. What is
the expected worst case scenario? What if the thread with the active
transaction is descheduled, or if it receives a signal and is possibly
terminated, or decides to use siglongjmp to jump to an outer
scope? The answer to this is: the transaction will be aborted. It is
possible to abort a transaction whenever a thread makes a system call or
receives a signal (i.e., a ring level change occurs). It might also
be that aborting the transaction is part of the OS's duties when
performing system calls or handling signals. We will have to wait
until implementations become available to see what is actually done.
The final aspect of transactional memory which should be discussed
here is something which people might want to think about even today.
The transaction cache, like other caches, operates on cache lines.
Since the transaction cache is an exclusive cache, using the same cache
line for transactions and non-transaction operation will be a
problem. It is therefore important to
- move non-transactional data off of the cache line
- have separate cache lines for data used in separate transactions
The first point is not new, the same effort will pay off for atomic
operations today. The second is more problematic since today objects are
hardly ever aligned to cache lines due to the associated high cost.
If the data used, along with the words
modified using atomic operations, is on the same cache line, one less
cache line is needed. This does not apply to mutual exclusion (where
the mutex object should always have its own cache line), but one can
certainly make cases where atomic operations go together with other
data. With transactional memory, using the cache line for
two purposes will most likely be fatal. Every normal access to data
{From the cache line in question. Access to arbitrary other
cache lines does not influence the transaction.} would remove the
cache line from the transactional cache, aborting the transaction in the process.
Cache alignment of data objects will be in future not only a
matter of performance but also of correctness.
It is possible that transactional memory implementations will use more
precise accounting and will, as a result, not suffer from normal accesses to data on
cache lines which are part of a transaction. This requires a lot more
effort, though, since then the MESI protocol information is not
sufficient anymore.
8.3 Increasing Latency
One thing about future development of memory technology is almost
certain: latency will continue to creep up. We already discussed, in
Section 2.2.4, that the upcoming DDR3 memory technology will
have higher latency than the current DDR2 technology. FB-DRAM, if it
should get deployed, also has potentially higher latency, especially
when FB-DRAM modules are daisy-chained. Passing through the requests
and results does not come for free.
The second source of latency is the increasing use of NUMA. AMD's
Opterons are NUMA machines if they have more than one processor.
There is some local memory attached to the CPU with its own memory
controller but, on SMP motherboards, the rest of the memory has to be
accessed through the Hypertransport bus. Intel's CSI technology will
use almost the same technology. Due to per-processor bandwidth
limitations and the requirement to keep (for instance) multiple
10Gb/s Ethernet ports busy, multi-socket motherboards will not vanish,
even if the number of cores per socket increases.
A third source of latency are co-processors. We thought that we got
rid of them after math co-processors for commodity processors were no longer
necessary at the beginning of the 1990's, but they are making
a comeback. Intel's Geneseo and AMD's Torrenza are extensions of the
platform to allow third-party hardware developers to integrate their
products into the motherboards. I.e., the co-processors will not have
to sit on a PCIe card but, instead, are positioned much closer to the
CPU. This gives them more bandwidth.
IBM went a different route (although extensions like Intel's and AMD's
are still possible) with the Cell CPU. The Cell CPU consists, beside
the PowerPC core, of 8 Synergistic Processing Units (SPUs) which are
specialized processors mainly for floating-point computation.
What co-processors and SPUs have in common is that they, most likely,
have even slower memory logic than the real processors. This is, in
part, caused by the necessary simplification: all the cache handling,
prefetching etc is complicated, especially when cache coherency is
needed, too. High-performance programs will increasingly rely on
co-processors since the performance differences can be dramatic.
Theoretical peak performance for a Cell CPU is 210 GFLOPS, compared to
50-60 GFLOPS for a high-end CPU. The Graphics Processing Units (GPUs,
processors on graphics cards) in use today achieve even higher numbers
(north of 500 GFLOPS) and those could probably, with not too much
effort, be integrated into the Geneseo/Torrenza systems.
As a result of all these developments, a programmer must conclude that
prefetching will become ever more important. For co-processors it
will be absolutely critical. For CPUs, especially with more and more
cores, it is necessary to keep the FSB busy all the time instead of
piling on the requests in batches. This requires giving the CPU as
much insight into future traffic as possible through the efficient use
of prefetching instructions.
8.4 Vector Operations
The multi-media extensions in today's mainstream processors implement
vector operations only in a limited fashion. Vector instructions are
characterized by large numbers of operations which are performed
together. Compared with scalar operations, this can be said about the
multi-media instructions, but it is a far cry from what vector
computers like the Cray-1 or vector units for machines like the
IBM 3090 did.
To compensate for the limited number of operations performed for one
instruction (four float or two double operations on most
machines) the surrounding loops have to be executed more often. The
example in Section 9.1 shows this clearly, each cache
line requires SM iterations.
With wider vector registers and operations, the number of loop
iterations can be reduced. This results in more than just improvements in
the instruction decoding etc.; here we are more interested in the
memory effects. With a single instruction loading or storing more
data, the processor has a better picture about the memory use of the
application and does not have to try to piece together the information
from the behavior of individual instructions. Furthermore, it becomes
more useful to provide load or store instructions which do not affect
the caches. With 16 byte wide loads of an SSE register in an
x86 CPU, it is a bad idea to use uncached loads since
later accesses to the same cache line have to load the data from memory again
(in case of cache misses). If, on the other hand, the vector registers
are wide enough to hold one or more cache lines, uncached loads or stores
do not have negative impacts. It becomes more practical to perform
operations on data sets which do not fit into the caches.
Having large vector registers does not necessarily mean the latency of
the instructions is increased; vector instructions do not have to wait
until all data is read or stored. The vector units could start with
the data which has already been read if it can recognize the code
flow. That means, if, for instance, a vector register is to be loaded and
then all vector elements multiplied by a scalar, the CPU could start
the multiplication operation as soon as the first part of the vector has been
loaded. It is just a matter of sophistication of the vector unit.
What this shows is that, in theory, the vector registers can grow really
wide, and that programs could potentially be designed today with this
in mind. In practice, there are limitations imposed on the vector
register size by the fact that the processors are used in
multi-process and multi-thread OSes. As a result, the context switch
times, which include storing and loading register values, is
important.
With wider vector registers there is the problem that the input and
output data of the operations cannot be sequentially laid out in
memory. This might be because a matrix is sparse, a matrix is
accessed by columns instead of rows, and many other factors. Vector
units provide, for this case, ways to access memory in non-sequential
patterns. A single vector load or store can be parametrized and
instructed to load data from many different places in the address
space. Using today's multi-media instructions, this is not possible at
all. The values would have to be explicitly loaded one by one and
then painstakingly combined into one vector register.
The vector units of the old days had different modes to allow the most
useful access patterns:
- using striding, the program can specify how big the gap
between two neighboring vector elements is. The gap between all
elements must be the same but this would, for instance, easily allow
to read the column of a matrix into a vector register in one
instruction instead of one instruction per row.
- using indirection, arbitrary access patterns can be created. The
load or store instruction would receive a pointer to an array which
contains addresses or offsets of the real memory locations which
have to be loaded.
It is unclear at this point whether we will see a revival of true
vector operations in future versions of mainstream processors. Maybe
this work will be relegated to co-processors. In any case, should we
get access to vector operations, it is all the more important to
correctly organize the code performing such operations. The code
should be self-contained and replaceable, and the interface should be
general enough to efficiently apply vector operations. For instance,
interfaces should allow adding entire matrixes instead of operating on
rows, columns, or even groups of elements. The larger the building
blocks, the better the chance of using vector operations.
In [vectorops] the authors make a passionate plea for the revival
of vector operations. They point out many advantages and try to debunk
various myths. They paint an overly simplistic image, though. As
mentioned above, large register sets mean high context switch
times, which have to be avoided in general purpose OSes. See the
problems of the IA-64 processor when it comes to context
switch-intensive operations. The long execution time for vector
operations is also a problem if interrupts are involved. If an
interrupt is raised, the processor must stop its current work and start
working on handling the interrupt. After that, it must resume
executing the interrupted code. It is generally a big problem to
interrupt an instruction in the middle of the work; it is not
impossible, but it is complicated. For long running instructions this has to
happen, or the instructions must be implemented in a restartable fashion,
since otherwise the interrupt reaction time is too high. The latter
is not acceptable.
Vector units also were forgiving as far as alignment of the memory
access is concerned, which shaped the algorithms which were developed.
Some of today's processors (especially RISC processors) require
strict alignment so the extension to full vector operations is not
trivial. There are big potential upsides to having vector
operations, especially when striding and indirection are supported,
so that we can hope to see this functionality in the future.
Appendices and bibliography
The appendices and bibliography page
contains, among other things, the source code for a number of the benchmark
programs used for this document, more information on oprofile, some
discussion of memory types, an introduction to libNUMA, and the
bibliography.
Comments (8 posted)
Thursday, November 22 is the U.S. Thanksgiving holiday. As has become
traditional, the LWN Weekly Edition will come out one day early next week
so that your editors can focus on fasting in preparation for the
Thanksgiving feast. After a few days of football, food, and avoidance of
holiday shopping we'll return to our normal schedule on the 29th.
Comments (none posted)
Page editor: Jonathan Corbet
Security
By Jake Edge
November 14, 2007
Linux security policy is very simple at its core: the root user can do
anything, while all other users can do very little. Unfortunately,
administrators want to be able to allow other users to do a limited subset
of the things root is permitted to do. Various solutions have been
implemented to try and solve this problem, with a recent one being PolicyKit.
Mounting removable filesystems, CDs, USB devices, and the like, is a classic
example of a root-only task that some non-privileged users might be allowed
to perform. In the past, various mechanisms using groups or mount options in /etc/fstab have been used with some
success, but the mechanisms were specific to mounting and did not provide
the flexibility that some administrators would like. Network configuration -
particularly for wireless networking - is another common task that users might
be allowed to do.
PolicyKit is an attempt to centralize these kinds of decisions into a
single policy file that the administrator can use to set the kinds of
access regular users should be allowed. Previous solutions required
changing each utility to handle policy, each in its own unique format and
file(s). PolicyKit is meant to avoid all of that, creating a single place,
with a consistent syntax (the now ubiquitous XML), that details the policy rules for that system.
The PolicyKit philosophy decouples the "mechanism" of performing the
privileged operation from the user interface used to request it.
A GUI network configuration tool might allow a user to choose a different
network to associate with, but would have no direct means to make that
change. It would, instead, contact a privileged network
management daemon through an interprocess communication mechanism
(such as D-Bus). That daemon would use the PolicyKit API to determine
whether to grant the request.
In order to make that decision, PolicyKit needs three pieces of
information, the subject, object, and action. The subject is the user and
process requesting the action, while the object is what entity the action
is being requested on. In a network configuration example, the subject
would be a uid, along with additional identifying information such as
SELinux security context, the action would be to change the association,
and the object would be the network device.
The mechanism code calls the PolicyKit library, passing the subject,
object, and action, receiving back a decision. The decision could be a
simple yes or no, or it could, instead, require that the user authenticate -
either as themselves or as root - before allowing the operation.
Re-authentication can be required on sensitive actions, such as those that malware
or malicious users might want to perform, to provide an additional layer of
security. All of this policy is governed by the entries in the PolicyKit
configuration file. Once the decision has been rendered, it is up to the
mechanism to enforce it. This may require coordination with the UI,
especially if authentication is required.
Administrators can modify the PolicyKit configuration by way of an XML
file, usually PolicyKit.conf. The man
page gives a few examples of entries like the following:
<match action="org.freedesktop.hal.storage.mount-fixed">
<match user="davidz">
<return result="yes"/>
</match>
<match user="freddy">
<return result="no"/>
</match>
</match>
As should be relatively easy to see, this configuration would allow the user
"davidz" to perform the action "mount-fixed" while disallowing the user
"freddy". Depending on the default value for that action, as specified in
the mechanism's configuration, users not listed could be denied,
allowed, or be required to authenticate.
Configuration for mechanisms, which lists the supported actions along
with a default policy, is
specified in a separate XML file. The mechanism could generate the file on
startup and remove it on exit, completely removing the action from the
system when it is inactive. Action configuration also includes the message
strings that will be displayed by the UI when authenticating or denying users.
PolicyKit has been added to Fedora 8, but is, as yet, mostly unused. There are plans to
integrate various GNOME configuration tools with PolicyKit for Fedora 9 and
a GNOME
API has been created to assist with that. One would guess that a KDE
API is in the wings as well.
PolicyKit is not meant to replace SELinux or other security mechanisms, it
is simply a means to allow users more privileges in a centralized, easily
audited, way. PolicyKit works within the existing access control
framework, using whatever privileges have been given to the mechanism. In
the end, PolicyKit just provides advice to another program, it is up to
that program to enforce the decision, while the OS can and does enforce its
own rules upon that process.
Comments (8 posted)
New vulnerabilities
3proxy: denial of service
| Package(s): | 3proxy |
CVE #(s): | CVE-2007-5622
|
| Created: | November 9, 2007 |
Updated: | November 14, 2007 |
| Description: |
Double-free vulnerability in the ftpprchild function in ftppr in 3proxy 0.5
through 0.5.3i allows remote attackers to cause a denial of service (daemon
crash) via multiple OPEN commands to the FTP proxy. |
| Alerts: |
|
Comments (none posted)
Django: denial of service
| Package(s): | Django |
CVE #(s): | CVE-2007-5712
|
| Created: | November 12, 2007 |
Updated: | September 22, 2008 |
| Description: |
From the CVE notice:
The internationalization (i18n) framework in Django 0.91, 0.95, 0.95.1, and 0.96, and as used in other products such as PyLucid, when the USE_I18N option and the i18n component are enabled, allows remote attackers to cause a denial of service (memory consumption) via many HTTP requests with large Accept-Language headers. |
| Alerts: |
|
Comments (none posted)
emacs: command execution via local variables
| Package(s): | emacs |
CVE #(s): | CVE-2007-5795
|
| Created: | November 14, 2007 |
Updated: | February 5, 2008 |
| Description: |
From the original Debian problem report: "In Debian's version of GNU Emacs 22.1+1-2, the `hack-local-variables'
function does not behave correctly when `enable-local-variables' is
set to :safe. The documentation of `enable-local-variables' states
that the value :safe means to set only safe variables, as determined
by `safe-local-variable-p' and `risky-local-variable-p' (and the data
driving them), but Emacs ignores this and instead sets all the local
variables." When this setting (which is not the default) is in effect, opening a hostile file could lead to the execution of arbitrary commands. |
| Alerts: |
|
Comments (1 posted)
gforge: multiple vulnerabilities
| Package(s): | gforge |
CVE #(s): | CVE-2007-3921
|
| Created: | November 8, 2007 |
Updated: | November 14, 2007 |
| Description: |
The GForge collaborative development tool uses temp files in an insecure
manner. Local users can use this to truncate files with the privileges
of the gforge user, they can also use this to cause a denial of service. |
| Alerts: |
|
Comments (none posted)
glib2: multiple vulnerabilities
| Package(s): | glib2 |
CVE #(s): | |
| Created: | November 8, 2007 |
Updated: | November 14, 2007 |
| Description: |
The glib2 library has multiple (currently unspecified)
vulnerabilities in PCRE. |
| Alerts: |
|
Comments (none posted)
horde3: multiple vulnerabilities
| Package(s): | horde3 |
CVE #(s): | CVE-2006-3548
CVE-2006-3549
CVE-2006-4256
CVE-2007-1473
CVE-2007-1474
|
| Created: | November 12, 2007 |
Updated: | November 14, 2007 |
| Description: |
From the Debian advisory:
Several remote vulnerabilities have been discovered in the Horde web
application framework. The Common Vulnerabilities and Exposures project
identifies the following problems:
CVE-2006-3548:
Moritz Naumann discovered that Horde allows remote attackers
to inject arbitrary web script or HTML in the context of a logged
in user (cross site scripting).
CVE-2006-3549:
Moritz Naumann discovered that Horde does not properly restrict
its image proxy, allowing remote attackers to use the server as a
proxy.
CVE-2006-4256:
Marc Ruef discovered that Horde allows remote attackers to
include web pages from other sites, which could be useful for
phishing attacks.
CVE-2007-1473:
Moritz Naumann discovered that Horde allows remote attackers
to inject arbitrary web script or HTML in the context of a logged
in user (cross site scripting).
CVE-2007-1474:
iDefense discovered that the cleanup cron script in Horde
allows local users to delete arbitrary files.
|
| Alerts: |
|
Comments (none posted)
inotify-tools: arbitrary code execution
| Package(s): | inotify-tools |
CVE #(s): | CVE-2007-5037
|
| Created: | November 12, 2007 |
Updated: | December 28, 2007 |
| Description: |
From the Fedora advisory:
A vulnerability has been reported in inotify-tools, which can potentially be
exploited by malicious users to compromise an application using the library.
Successful exploitation may allow the execution of arbitrary code with
privileges of the application using the affected library.
NOTE: The programs shipped with inotify-tools are reportedly not affected.
The vulnerability is reported in versions prior to 3.11. |
| Alerts: |
|
Comments (none posted)
kernel: remote denial of service
| Package(s): | kernel |
CVE #(s): | CVE-2006-6058
CVE-2007-4997
|
| Created: | November 9, 2007 |
Updated: | June 13, 2008 |
| Description: |
The Minix filesystem code in Linux kernel 2.6.x up to 2.6.18, and possibly
other versions, allows local users to cause a denial of service (hang) via
a malformed minix file stream that triggers an infinite loop in the
minix_bmap function. NOTE: this issue might be due to an integer overflow
or signedness error.
Integer underflow in the ieee80211_rx function in
net/ieee80211/ieee80211_rx.c in the Linux kernel 2.6.x before 2.6.23 allows
remote attackers to cause a denial of service (crash) via a crafted SKB
length value in a runt IEEE 802.11 frame when the IEEE80211_STYPE_QOS_DATA
flag is set, aka an "off-by-two error." |
| Alerts: |
|
Comments (1 posted)
link-grammar: stack-based buffer overflow
| Package(s): | link-grammar |
CVE #(s): | CVE-2007-5395
|
| Created: | November 13, 2007 |
Updated: | December 17, 2007 |
| Description: |
Stack-based buffer overflow in the separate_word function in tokenize.c in
Link Grammar 4.1b and possibly other versions, as used in AbiWord Link
Grammar 4.2.4, allows remote attackers to execute arbitrary code via a long
word, as reachable through the separate_sentence function. |
| Alerts: |
|
Comments (none posted)
madwifi: denial of service
| Package(s): | madwifi |
CVE #(s): | CVE-2007-5448
|
| Created: | November 8, 2007 |
Updated: | January 11, 2008 |
| Description: |
The MadWifi driver for Atheros Wireless Lan cards
does not process beacon frames correctly. This can be
used by a remote attacker to cause a denial of service. |
| Alerts: |
|
Comments (none posted)
openldap: denial of service
| Package(s): | openldap |
CVE #(s): | CVE-2007-5707
|
| Created: | November 8, 2007 |
Updated: | April 9, 2008 |
| Description: |
The OpenLDAP Lightweight Directory Access Protocol suite has a problem
with handling of malformed objectClasses LDAP attributes by the slapd
daemon. Both local and remote attackers can use this to crash slapd,
causing a denial of service. |
| Alerts: |
|
Comments (none posted)
php: denial of service
| Package(s): | php |
CVE #(s): | CVE-2007-4887
|
| Created: | November 12, 2007 |
Updated: | November 20, 2007 |
| Description: |
From the CVE entry:
The dl function in PHP 5.2.4 and earlier allows context-dependent attackers to cause a denial of service (application crash) via a long string in the library parameter. NOTE: there are limited usage scenarios under which this would be a vulnerability. |
| Alerts: |
|
Comments (none posted)
poppler and xpdf: multiple vulnerabilities
| Package(s): | poppler xpdf |
CVE #(s): | CVE-2007-4352
CVE-2007-5392
CVE-2007-5393
|
| Created: | November 8, 2007 |
Updated: | February 26, 2008 |
| Description: |
The xpdf and poppler PDF libraries contain several vulnerabilities which can lead to arbitrary command execution via hostile PDF files. Numerous other applications which use these libraries (PDF viewers, CUPS, etc.) will be affected by the vulnerabilities as well. |
| Alerts: |
|
Comments (none posted)
tomboy: execution of arbitrary code
| Package(s): | tomboy |
CVE #(s): | CVE-2005-4790
|
| Created: | November 9, 2007 |
Updated: | February 22, 2011 |
| Description: |
Jan Oravec reported that the "/usr/bin/tomboy" script sets the
"LD_LIBRARY_PATH" environment variable incorrectly, which might result
in the current working directory (.) to be included when searching for
dynamically linked libraries of the Mono Runtime application.
Note that the tomboy vulnerability was added in 2007. |
| Alerts: |
|
Comments (none posted)
zope-cmfplone: arbitrary code execution
| Package(s): | zope-cmfplone |
CVE #(s): | CVE-2007-5741
|
| Created: | November 12, 2007 |
Updated: | December 28, 2007 |
| Description: |
From the Debian advisory:
It was discovered that Plone, a web content management system, allows
remote attackers to execute arbitrary code via specially crafted web
browser cookies.
|
| Alerts: |
|
Comments (none posted)
Updated vulnerabilities
acroread: multiple vulnerabilities
| Package(s): | acroread |
CVE #(s): | CVE-2006-5857
CVE-2007-0045
CVE-2007-0046
|
| Created: | January 11, 2007 |
Updated: | October 26, 2009 |
| Description: |
Adobes acrobat reader has the following vulnerabilities:
The Adobe Reader Plugin has a cross site scripting vulnerability that
can be triggered by processes malformed URLs. Arbitrary JavaScript can
be served by a malicious web server, leading to a cross-site scripting
attack.
Maliciously crafted PDF files can be used to trigger two vulnerabilities,
if an attacker can trick a user into viewing the files, arbitrary code
can be executed with the user's privileges. |
| Alerts: |
|
Comments (1 posted)
apache2: information disclosure
| Package(s): | apache |
CVE #(s): | CVE-2007-1862
|
| Created: | June 20, 2007 |
Updated: | February 18, 2008 |
| Description: |
From the Mandriva advisory: "The recall_headers function in mod_mem_cache in Apache 2.2.4 does not
properly copy all levels of header data, which can cause Apache to
return HTTP headers containing previously-used data, which could be
used to obtain potentially sensitive information by unauthorized users." |
| Alerts: |
|
Comments (2 posted)
apache: multiple vulnerabilities
| Package(s): | apache |
CVE #(s): | CVE-2007-3304
CVE-2006-5752
|
| Created: | June 27, 2007 |
Updated: | February 18, 2008 |
| Description: |
The Apache HTTP Server did not verify that a process was an Apache child
process before sending it signals. A local attacker who has the ability to
run scripts on the Apache HTTP Server could manipulate the scoreboard and
cause arbitrary processes to be terminated, which could lead to a denial of
service. (CVE-2007-3304)
A flaw was found in the Apache HTTP Server mod_status module. Sites with
the server-status page publicly accessible and ExtendedStatus enabled were
vulnerable to a cross-site scripting attack. On Red Hat Enterprise Linux
the server-status page is not enabled by default and it is best practice to
not make this publicly available. (CVE-2006-5752) |
| Alerts: |
|
Comments (1 posted)
apache: cross-site scripting
| Package(s): | apache |
CVE #(s): | CVE-2006-3918
|
| Created: | August 9, 2006 |
Updated: | April 4, 2008 |
| Description: |
From the Red Hat advisory: "A bug was found in Apache where an invalid Expect header sent to the server
was returned to the user in an unescaped error message. This could
allow an attacker to perform a cross-site scripting attack if a victim was
tricked into connecting to a site and sending a carefully crafted Expect
header." |
| Alerts: |
|
Comments (none posted)
httpd: denial of service, cross-site scripting
| Package(s): | apache httpd |
CVE #(s): | CVE-2007-3847
CVE-2007-4465
|
| Created: | September 25, 2007 |
Updated: | February 15, 2008 |
| Description: |
A flaw was found in the mod_proxy module. On sites where a reverse proxy is
configured, a remote attacker could send a carefully crafted request that
would cause the Apache child process handling that request to crash. On
sites where a forward proxy is configured, an attacker could cause a
similar crash if a user could be persuaded to visit a malicious site using
the proxy. This could lead to a denial of service if using a threaded
Multi-Processing Module. (CVE-2007-3847)
A flaw was found in the mod_autoindex module. On sites where directory
listings are used, and the AddDefaultCharset directive has been removed
from the configuration, a cross-site-scripting attack may be possible
against browsers which do not correctly derive the response character set
following the rules in RFC 2616. (CVE-2007-4465) |
| Alerts: |
|
Comments (none posted)
avahi: denial of service
| Package(s): | avahi |
CVE #(s): | CVE-2007-3372
|
| Created: | June 28, 2007 |
Updated: | December 23, 2008 |
| Description: |
Avahi is vulnerable to a local denial of service that can be caused by
making an erroneous call to the assert() function. |
| Alerts: |
|
Comments (none posted)
bochs: buffer overflow
| Package(s): | bochs |
CVE #(s): | CVE-2007-2893
|
| Created: | July 20, 2007 |
Updated: | November 19, 2007 |
| Description: |
A heap-based buffer overflow in the bx_ne2k_c::rx_frame function in
iodev/ne2k.cc in the emulated NE2000 device in Bochs 2.3 allows local users
of the guest operating system to write to arbitrary memory locations and
gain privileges on the host operating system via vectors that cause TXCNT
register values to exceed the device memory size, aka "RX Frame heap
overflow." |
| Alerts: |
|
Comments (none posted)
cacti: denial of service
| Package(s): | cacti |
CVE #(s): | CVE-2007-3112
CVE-2007-3113
|
| Created: | September 18, 2007 |
Updated: | December 16, 2009 |
| Description: |
A vulnerability in Cacti 0.8.6i and earlier versions allows remote
authenticated users to cause a denial of service (CPU consumption) via
large values of the graph_start, graph_end, graph_height, or graph_width
parameters. |
| Alerts: |
|
Comments (none posted)
centericq: buffer overflows
| Package(s): | centericq |
CVE #(s): | CVE-2007-3713
|
| Created: | July 20, 2007 |
Updated: | December 17, 2007 |
| Description: |
Multiple buffer overflows in Konst CenterICQ 4.9.11 through 4.21 allow
remote attackers to execute arbitrary code via unspecified vectors. NOTE:
the provenance of this information is unknown; the details are obtained
solely from third party information. NOTE: this might overlap
CVE-2007-0160. |
| Alerts: |
|
Comments (none posted)
clamav: denial of service
| Package(s): | clamav |
CVE #(s): | CVE-2007-3725
|
| Created: | July 24, 2007 |
Updated: | February 27, 2008 |
| Description: |
A NULL pointer dereference has been discovered in the RAR VM of Clam
Antivirus (ClamAV) which allows user-assisted remote attackers to
cause a denial of service via a specially crafted RAR archives. |
| Alerts: |
|
Comments (none posted)
clamav: multiple vulnerabilities
| Package(s): | clamav |
CVE #(s): | CVE-2007-4510
CVE-2007-4560
|
| Created: | September 3, 2007 |
Updated: | February 13, 2008 |
| Description: |
Several remote vulnerabilities have been discovered in the Clam anti-virus
toolkit. The Common Vulnerabilities and Exposures project identifies the
following problems:
CVE-2007-4510:
It was discovered that the RTF and RFC2397 parsers can be tricked
into dereferencing a NULL pointer, resulting in denial of service.
CVE-2007-4560:
It was discovered clamav-milter performs insufficient input
sanitizing, resulting in the execution of arbitrary shell commands.
|
| Alerts: |
|
Comments (none posted)
conga: denial of service
| Package(s): | conga |
CVE #(s): | CVE-2007-4136
|
| Created: | November 7, 2007 |
Updated: | November 22, 2007 |
| Description: |
A flaw was found in ricci during a code audit. A remote attacker who is
able to connect to ricci could cause ricci to temporarily refuse additional
connections, a denial of service (CVE-2007-4136). |
| Alerts: |
|
Comments (none posted)
coolkey: temporary file vulnerability
| Package(s): | coolkey |
CVE #(s): | CVE-2007-4129
|
| Created: | November 7, 2007 |
Updated: | November 7, 2007 |
| Description: |
Steve Grubb discovered a flaw in the way coolkey created a temporary
directory. A local attacker could perform a symlink attack and cause
arbitrary files to be overwritten. (CVE-2007-4129)
|
| Alerts: |
|
Comments (none posted)
cpio: arbitrary code execution
| Package(s): | cpio |
CVE #(s): | CVE-2005-4268
|
| Created: | January 2, 2006 |
Updated: | March 17, 2010 |
| Description: |
Richard Harms discovered that cpio did not sufficiently validate file
properties when creating archives. Files with e. g. a very large size
caused a buffer overflow. By tricking a user or an automatic backup
system into putting a specially crafted file into a cpio archive, a
local attacker could probably exploit this to execute arbitrary code
with the privileges of the target user (which is likely root in an
automatic backup system). |
| Alerts: |
|
Comments (none posted)
vixie-cron: privilege escalation
| Package(s): | cron |
CVE #(s): | CVE-2006-2607
|
| Created: | May 31, 2006 |
Updated: | June 1, 2009 |
| Description: |
The Vixie cron daemon does not check the return code from setuid(); if that call can be made to fail, a local attacker may be able to execute commands as root. |
| Alerts: |
|
Comments (1 posted)
cscope: buffer overflows
| Package(s): | cscope |
CVE #(s): | CVE-2006-4262
|
| Created: | October 2, 2006 |
Updated: | June 16, 2009 |
| Description: |
Will Drewry of the Google Security Team discovered several buffer overflows
in cscope, a source browsing tool, which might lead to the execution of
arbitrary code. |
| Alerts: |
|
Comments (none posted)
cscope: buffer overflows
| Package(s): | cscope |
CVE #(s): | CVE-2004-2541
|
| Created: | May 22, 2006 |
Updated: | June 19, 2009 |
| Description: |
A buffer overflow in Cscope 15.5, and possibly multiple overflows, allows
remote attackers to execute arbitrary code via a C file with a long
#include line that is later browsed by the target. |
| Alerts: |
|
Comments (1 posted)
cups: denial of service
| Package(s): | cups |
CVE #(s): | CVE-2007-0720
|
| Created: | March 26, 2007 |
Updated: | February 7, 2008 |
| Description: |
Previous versions of the cups package could be forced to hang via a client
"partially negotiating" an ssl connection. In this state, cups would not
allow other connections to be made, a denial of service. |
| Alerts: |
|
Comments (none posted)
cups: buffer overflow
| Package(s): | cups |
CVE #(s): | CVE-2007-4351
|
| Created: | October 31, 2007 |
Updated: | November 19, 2007 |
| Description: |
The CUPS code charged with dealing with TCP-based Internet Printer Protocol connections suffers from a buffer overflow which could possibly be exploitable remotely. The vulnerability is only present if remote hosts are allowed to connect to the IPP port, which is usually not the default setting. |
| Alerts: |
|
Comments (none posted)
gpdf: integer overflow
| Package(s): | cups poppler xpdf |
CVE #(s): | CVE-2007-3387
|
| Created: | July 31, 2007 |
Updated: | November 28, 2007 |
| Description: |
The gpdf library contains an integer overflow which can be exploited via a malicious PDF file. This code finds its way into multiple packages, including xpdf, kpdf, poppler, cups, and more. |
| Alerts: |
|
Comments (1 posted)
debian-goodies: privilege escalation
| Package(s): | debian-goodies |
CVE #(s): | CVE-2007-3912
|
| Created: | October 5, 2007 |
Updated: | March 24, 2008 |
| Description: |
Thomas de Grenier de Latour discovered that the checkrestart program included
in debian-goodies did not correctly handle shell meta-characters. A local
attacker could exploit this to gain the privileges of the user running
checkrestart. |
| Alerts: |
|
Comments (none posted)
dovecot: privilege escalation
| Package(s): | dovecot |
CVE #(s): | CVE-2007-4211
|
| Created: | August 15, 2007 |
Updated: | May 21, 2008 |
| Description: |
From the rPath advisory: "Previous versions of the dovecot package are vulnerable to a
minor privilege escalation attack in which an authenticated
user may exploit an ACL plugin weakness to save message flags
without having proper permissions." |
| Alerts: |
|
Comments (none posted)
dovecot: directory traversal
| Package(s): | dovecot |
CVE #(s): | CVE-2007-2231
|
| Created: | May 8, 2007 |
Updated: | May 21, 2008 |
| Description: |
Directory traversal vulnerability in index/mbox/mbox-storage.c in Dovecot
before 1.0.rc29, when using the zlib plugin, allows remote attackers to
read arbitrary gzipped (.gz) mailboxes (mbox files) via a .. (dot dot)
sequence in the mailbox name. |
| Alerts: |
|
Comments (none posted)
drupal: multiple vulnerabilities
| Package(s): | drupal |
CVE #(s): | CVE-2007-5593
CVE-2007-5594
CVE-2007-5595
CVE-2007-5596
CVE-2007-5597
|
| Created: | October 24, 2007 |
Updated: | December 7, 2007 |
| Description: |
From the Fedora advisory:
- Upgrade to 5.3, fixes:
- HTTP response splitting.
- Arbitrary code execution.
- Cross-site scripting.
- Cross-site request forgery.
- Access bypass.
|
| Alerts: |
|
Comments (none posted)
eggdrop: stack-based buffer overflow
| Package(s): | eggdrop |
CVE #(s): | CVE-2007-2807
|
| Created: | September 7, 2007 |
Updated: | December 8, 2009 |
| Description: |
A stack-based buffer overflow in mod/server.mod/servrmsg.c in Eggdrop
1.6.18, and possibly earlier, allows user-assisted, malicious remote IRC
servers to execute arbitrary code via a long private message. |
| Alerts: |
|
Comments (none posted)
elinks: code execution
| Package(s): | elinks |
CVE #(s): | CVE-2007-2027
|
| Created: | May 7, 2007 |
Updated: | October 30, 2009 |
| Description: |
Arnaud Giersch discovered that elinks incorrectly attempted to load
gettext catalogs from a relative path. If a user were tricked into
running elinks from a specific directory, a local attacker could execute
code with user privileges. |
| Alerts: |
|
Comments (none posted)
elinks: arbitrary file access
| Package(s): | elinks |
CVE #(s): | CVE-2006-5925
|
| Created: | November 16, 2006 |
Updated: | October 22, 2009 |
| Description: |
The elinks text-mode browser has an arbitrary file access vulnerability
in the Elinks SMB protocol handler. If a user can be tricked into
visiting a specially crafted web page, arbitrary files may be read or
written with the user's permissions. |
| Alerts: |
|
Comments (none posted)
evolution: format string error
| Package(s): | evolution |
CVE #(s): | CVE-2007-1002
|
| Created: | March 27, 2007 |
Updated: | February 27, 2008 |
| Description: |
A format string error in the "write_html()" function in calendar/gui/
e-cal-component-memo-preview.c when displaying a memo's categories can
potentially be exploited to execute arbitrary code via a specially crafted
shared memo containing format specifiers. |
| Alerts: |
|
Comments (1 posted)
evolution-data-server: malicious server arbitrary code execution
| Package(s): | evolution-data-server |
CVE #(s): | CVE-2007-3257
|
| Created: | June 18, 2007 |
Updated: | November 7, 2007 |
| Description: |
From the GNOME
bugzilla: "The "SEQUENCE" value in the GData of the IMAP code
(camel-imap-folder.c) is converted from a string using strtol. This allows
for negative values. The imap_rescan uses this value as an int. It checks
for !seq and seq>summary.length. It doesn't check for seq <
0. Although seq is used as the index of an array." |
| Alerts: |
|
Comments (1 posted)
pop mail man-in-the-middle attacks
| Package(s): | evolution thunderbird mutt fetchmail |
CVE #(s): | CVE-2007-1558
|
| Created: | May 8, 2007 |
Updated: | July 3, 2009 |
| Description: |
The APOP protocol allows remote attackers to guess the first 3 characters
of a password via man-in-the-middle (MITM) attacks that use crafted message
IDs and MD5 collisions. NOTE: this design-level issue potentially affects
all products that use APOP, including (1) Thunderbird, (2) Evolution, (3)
mutt, and (4) fetchmail. |
| Alerts: |
|
Comments (none posted)
fetchmail: denial of service
| Package(s): | fetchmail |
CVE #(s): | CVE-2007-4565
|
| Created: | September 5, 2007 |
Updated: | October 30, 2009 |
| Description: |
fetchmail before 6.3.9 allows context-dependent attackers to cause a denial of service (NULL dereference and application crash) by refusing certain warning messages that are sent over SMTP. |
| Alerts: |
|
Comments (none posted)
firebird: buffer overflow
| Package(s): | firebird |
CVE #(s): | CVE-2007-3181
|
| Created: | July 2, 2007 |
Updated: | March 27, 2008 |
| Description: |
The Firebird DBMS has a buffer overflow vulnerability involving
the processing of connect requests with an overly large p_cnct_count
value. Remote attackers can send a specially crafted
request to the server in order to potentially execute arbitrary code with
the permissions of the Firebird user. |
| Alerts: |
|
Comments (none posted)
firefox: multiple vulnerabilities
| Package(s): | firefox |
CVE #(s): | |
| Created: | November 6, 2007 |
Updated: | November 7, 2007 |
| Description: |
update to 1.5.0.12 |
| Alerts: |
|
Comments (none posted)
firefox: multiple vulnerabilities
| Package(s): | firefox |
CVE #(s): | CVE-2007-3844
CVE-2007-3845
|
| Created: | August 1, 2007 |
Updated: | February 20, 2008 |
| Description: |
A flaw was discovered in handling of "about:blank" windows used by
addons. A malicious web site could exploit this to modify the contents,
or steal confidential data (such as passwords), of other web pages.
(CVE-2007-3844)
Jesper Johansson discovered that spaces and double-quotes were
not correctly handled when launching external programs. In rare
configurations, after tricking a user into opening a malicious web page,
an attacker could execute helpers with arbitrary arguments with the
user's privileges. (CVE-2007-3845) |
| Alerts: |
|
Comments (none posted)
firefox, thunderbird, seamonkey: multiple vulnerabilities
| Package(s): | firefox, thunderbird, seamonkey |
CVE #(s): | CVE-2007-3738
CVE-2007-3656
CVE-2007-3670
CVE-2007-3285
CVE-2007-3737
CVE-2007-3089
CVE-2007-3736
CVE-2007-3734
CVE-2007-3735
|
| Created: | July 18, 2007 |
Updated: | May 12, 2008 |
| Description: |
shutdown and moz_bug_r_a4 reported two separate ways to modify an
XPCNativeWrapper such that subsequent access by the browser would result in
executing user-supplied code. (CVE-2007-3738)
Michal Zalewski reported that it was possible to bypass the same-origin
checks and read from cached (wyciwyg) documents It is possible to access
wyciwyg:// documents without proper same domain policy checks through the
use of HTTP 302 redirects. This enables the attacker to steal sensitive
data displayed on dynamically generated pages; perform cache poisoning; and
execute own code or display own content with URL bar and SSL certificate
data of the attacked page (URL spoofing++). (CVE-2007-3656)
Internet Explorer calls registered URL protocols without escaping quotes
and may be used to pass unexpected and potentially dangerous data to the
application that registers that URL Protocol. (CVE-2007-3670)
Ronald van den Heetkamp reported that a filename URL containing %00
(encoded null) can cause Firefox to interpret the file extension
differently than the underlying Windows operating system potentially
leading to unsafe actions such as running a program. This is only
accessible locally. (CVE-2007-3285)
An attacker can use an element outside of a document to call an event
handler allowing content to run arbitrary code with chrome
privileges. (CVE-2007-3737)
Ronen Zilberman and Michal Zalewski both reported that it was possible to
exploit a timing issue to inject content into about:blank frames in a
page. When opening a window from a script, it is possible to spoof the
content of the newly opened window's frames within a short time frame,
while the window is loading. (CVE-2007-3089)
Mozilla contributor moz_bug_r_a4 demonstrated that the methods
addEventListener and setTimeout could be used to inject script into another
site in violation of the browser's same-origin policy. This could be used
to access or modify private or valuable information from that other
site. (CVE-2007-3736)
As part of the Firefox 2.0.0.5 update releases Mozilla developers fixed
many bugs to improve the stability of the product. Some of these crashes
that showed evidence of memory corruption under certain circumstances and
we presume that with enough effort at least some of these could be
exploited to run arbitrary code. Note: Thunderbird shares the browser
engine with Firefox and could be vulnerable if JavaScript were to be
enabled in mail. This is not the default setting and we strongly discourage
users from running JavaScript in mail. Without further investigation we
cannot rule out the possibility that for some of these an attacker might be
able to prepare memory for exploitation through some means other than
JavaScript, such as large images. (CVE-2007-3734, CVE-2007-3735) |
| Alerts: |
|
Comments (none posted)
flac: arbitrary code execution
| Package(s): | flac |
CVE #(s): | CVE-2007-4619
|
| Created: | October 22, 2007 |
Updated: | January 21, 2008 |
| Description: |
From the Red Hat advisory:
A security flaw was found in the way flac processed audio data. An
attacker could create a carefully crafted FLAC audio file in such a way that
it could cause an application linked with flac libraries to crash or execute
arbitrary code when it was opened. (CVE-2007-4619)
|
| Alerts: |
|
Comments (none posted)
freetype: arbitrary code execution
| Package(s): | freetype |
CVE #(s): | CVE-2007-2754
|
| Created: | May 24, 2007 |
Updated: | June 1, 2010 |
| Description: |
The Freetype font rendering library versions 2.3.4 and below
has an integer sign error. Remote attackers may be able to
create a specially crafted TrueType Font file with a negative
n_points value that will cause an integer overflow and heap-based
buffer overflow, allowing the execution of arbitrary code. |
| Alerts: |
|
Comments (none posted)
freetype: integer overflows
| Package(s): | freetype |
CVE #(s): | CVE-2006-0747
CVE-2006-1861
CVE-2006-2493
CVE-2006-2661
CVE-2006-3467
|
| Created: | June 8, 2006 |
Updated: | June 1, 2010 |
| Description: |
The FreeType library has several integer overflow vulnerabilities.
If a user can be tricked into installing a specially
crafted font file, arbitrary code can be executed with the privilege
of the user. |
| Alerts: |
|
Comments (none posted)
gallery2: multiple unspecified vulnerabilities
| Package(s): | gallery2 |
CVE #(s): | CVE-2007-4650
|
| Created: | September 5, 2007 |
Updated: | November 9, 2007 |
| Description: |
Multiple unspecified vulnerabilities in Gallery before 2.2.3 allow
attackers to (1) rename items, (2) read and modify item properties, or (3) lock and replace items
via unknown vectors in (a) the WebDAV module; and (4) edit unspecified data files using "linked
items" in (a) WebDAV and (b) Reupload modules. |
| Alerts: |
|
Comments (none posted)
gcc: file overwrite vulnerability
| Package(s): | gcc |
CVE #(s): | CVE-2006-3619
|
| Created: | September 6, 2006 |
Updated: | March 14, 2008 |
| Description: |
The fastjar utility found in the GNU compiler collection does not perform adequate file path checking, allowing the creation or overwriting of files outside of the current directory tree. |
| Alerts: |
|
Comments (none posted)
gd: buffer overflow
| Package(s): | gd |
CVE #(s): | CVE-2007-0455
|
| Created: | February 7, 2007 |
Updated: | November 18, 2009 |
| Description: |
The gd graphics library contains a buffer overflow which could enable a remote attacker to execute arbitrary code. Note that various other packages include code from gd and could also be vulnerable. |
| Alerts: |
|
Comments (2 posted)
gd: multiple vulnerabilities
| Package(s): | gd |
CVE #(s): | CVE-2007-3472
CVE-2007-3473
CVE-2007-3474
CVE-2007-3475
CVE-2007-3476
CVE-2007-3477
CVE-2007-3478
|
| Created: | August 6, 2007 |
Updated: | November 6, 2009 |
| Description: |
Integer overflow in gdImageCreateTrueColor function in the GD Graphics
Library (libgd) before 2.0.35 allows user-assisted remote attackers
to have unspecified remote attack vectors and impact. (CVE-2007-3472)
The gdImageCreateXbm function in the GD Graphics Library (libgd)
before 2.0.35 allows user-assisted remote attackers to cause a denial
of service (crash) via unspecified vectors involving a gdImageCreate
failure. (CVE-2007-3473)
Multiple unspecified vulnerabilities in the GIF reader in the
GD Graphics Library (libgd) before 2.0.35 allow user-assisted
remote attackers to have unspecified attack vectors and
impact. (CVE-2007-3474)
The GD Graphics Library (libgd) before 2.0.35 allows user-assisted
remote attackers to cause a denial of service (crash) via a GIF image
that has no global color map. (CVE-2007-3475)
Array index error in gd_gif_in.c in the GD Graphics Library (libgd)
before 2.0.35 allows user-assisted remote attackers to cause
a denial of service (crash and heap corruption) via large color
index values in crafted image data, which results in a segmentation
fault. (CVE-2007-3476)
The (a) imagearc and (b) imagefilledarc functions in GD Graphics
Library (libgd) before 2.0.35 allows attackers to cause a denial
of service (CPU consumption) via a large (1) start or (2) end angle
degree value. (CVE-2007-3477)
Race condition in gdImageStringFTEx (gdft_draw_bitmap) in gdft.c in the
GD Graphics Library (libgd) before 2.0.35 allows user-assisted remote
attackers to cause a denial of service (crash) via unspecified vectors,
possibly involving truetype font (TTF) support. (CVE-2007-3478) |
| Alerts: |
|
Comments (none posted)
gd: denial of service
| Package(s): | gd |
CVE #(s): | CVE-2007-2756
|
| Created: | June 14, 2007 |
Updated: | February 28, 2008 |
| Description: |
Libgd2 has a denial of service vulnerability involving the incorrect
validation of PNG callback results. If an application that is linked
against libgd2 is used to process a specially-crafted PNG file,
a denial of service involving CPU resource consumption can be
caused. |
| Alerts: |
|
Comments (none posted)
gedit: format string vulnerability
| Package(s): | gedit |
CVE #(s): | CAN-2005-1686
|
| Created: | June 9, 2005 |
Updated: | February 5, 2009 |
| Description: |
A format string vulnerability has been discovered in gedit. Calling
the program with specially crafted file names caused a buffer
overflow, which could be exploited to execute arbitrary code with the
privileges of the gedit user. |
| Alerts: |
|
Comments (1 posted)
gftp: buffer overflows
| Package(s): | gftp |
CVE #(s): | CVE-2007-3962
CVE-2007-3961
|
| Created: | November 2, 2007 |
Updated: | January 22, 2008 |
| Description: |
Kalle Olavi Niemitalo discovered two boundary errors in fsplib code
included in gFTP when processing overly long directory or file names. A
remote attacker could trigger these vulnerabilities by enticing a user to
download a file with a specially crafted directory or file name, possibly
resulting in the execution of arbitrary code (CVE-2007-3962) or a Denial of
Service (CVE-2007-3961). |
| Alerts: |
|
Comments (none posted)
gimp: multiple vulnerabilities
| Package(s): | gimp |
CVE #(s): | CVE-2007-2949
|
| Created: | June 28, 2007 |
Updated: | February 27, 2008 |
| Description: |
The gimp image editor has several vulnerabilities, including
a problem where it can open PSD files with excessive dimensions
and a possible stack overflow in the Sunras loader. |
| Alerts: |
|
Comments (none posted)
gnome-screensaver: keyboard lock bypass
| Package(s): | gnome-screensaver |
CVE #(s): | CVE-2007-3920
|
| Created: | October 24, 2007 |
Updated: | October 15, 2009 |
| Description: |
From the Ubuntu advisory:
Jens Askengren discovered that gnome-screensaver became confused when
running under Compiz, and could lose keyboard lock focus. A local
attacker could exploit this to bypass the user's locked screen saver. |
| Alerts: |
|
Comments (none posted)
openssh: inappropriate use of trusted cookies
| Package(s): | gnome-ssh-askpass openssh |
CVE #(s): | CVE-2007-4752
|
| Created: | September 11, 2007 |
Updated: | August 25, 2008 |
| Description: |
OpenSSH in versions prior
4.7 could use a trusted X11 cookie if the creation of an untrusted
cookie failed. |
| Alerts: |
|
Comments (none posted)
grip: buffer overflow
| Package(s): | grip |
CVE #(s): | CAN-2005-0706
|
| Created: | March 10, 2005 |
Updated: | November 19, 2008 |
| Description: |
Grip, a CD ripper, has a buffer overflow vulnerability that can
occur when the CDDB server returns more than 16 matches. |
| Alerts: |
|
Comments (none posted)
gzip: multiple vulnerabilities
| Package(s): | gzip |
CVE #(s): | CVE-2006-4334
CVE-2006-4335
CVE-2006-4336
CVE-2006-4337
CVE-2006-4338
|
| Created: | September 19, 2006 |
Updated: | January 20, 2010 |
| Description: |
Tavis Ormandy of the Google Security Team discovered two denial of service
flaws in the way gzip expanded archive files. If a victim expanded a
specially crafted archive, it could cause the gzip executable to hang or
crash.
Tavis Ormandy of the Google Security Team discovered several code execution
flaws in the way gzip expanded archive files. If a victim expanded a
specially crafted archive, it could cause the gzip executable to crash or
execute arbitrary code. |
| Alerts: |
|
Comments (1 posted)
horde-kronolith: local file inclusion
| Package(s): | horde-kronolith |
CVE #(s): | CVE-2006-6175
|
| Created: | January 17, 2007 |
Updated: | March 7, 2008 |
| Description: |
Kronolith contains a mistake in lib/FBView.php where a raw, unfiltered
string is used instead of a sanitized string to view local files. An
authenticated attacker could craft an HTTP GET request that uses directory
traversal techniques to execute any file on the web server as PHP code,
which could allow information disclosure or arbitrary code execution with
the rights of the user running the PHP application (usually the webserver
user). |
| Alerts: |
|
Comments (none posted)
hplip: arbitrary command execution
| Package(s): | hplip |
CVE #(s): | CVE-2007-5208
|
| Created: | October 12, 2007 |
Updated: | January 14, 2008 |
| Description: |
Kees Cook discovered a flaw in the way the hplip hpssd daemon handled user
input. A local attacker could send a specially crafted request to the hpssd
daemon, possibly allowing them to run arbitrary commands as the root user. |
| Alerts: |
|
Comments (none posted)
hugin: unsafe temporary file usage
| Package(s): | hugin |
CVE #(s): | CVE-2007-5200
|
| Created: | November 6, 2007 |
Updated: | December 6, 2007 |
| Description: |
hugin in SUSE openSUSE 10.2 and 10.3 allows local users to overwrite
arbitrary files via a symlink attack on a temporary file. |
| Alerts: |
|
Comments (none posted)
imagemagick: multiple vulnerabilities
| Package(s): | imagemagick |
CVE #(s): | CVE-2007-4985
CVE-2007-4986
CVE-2007-4987
CVE-2007-4988
|
| Created: | October 4, 2007 |
Updated: | August 11, 2009 |
| Description: |
The ImageMagick image decoders have multiple vulnerabilities.
If a user can be tricked into processing a specially crafted
DCM, DIB, XBM, XCF, or XWD image, arbitrary code may be executed with
the user's privileges. |
| Alerts: |
|
Comments (none posted)
ImageMagick: integer overflows
| Package(s): | imagemagick |
CVE #(s): | CVE-2007-1797
|
| Created: | April 4, 2007 |
Updated: | August 11, 2009 |
| Description: |
Multiple integer overflows in ImageMagick before 6.3.3-5 allow remote
attackers to execute arbitrary code via (1) a crafted DCM image, which
results in a heap-based overflow in the ReadDCMImage function, or (2) the
(a) colors or (b) comments field in a crafted XWD image, which results in a
heap-based overflow in the ReadXWDImage function, different issues than
CVE-2007-1667. |
| Alerts: |
|
Comments (none posted)
jasper: denial of service
| Package(s): | jasper |
CVE #(s): | CVE-2007-2721
|
| Created: | June 1, 2007 |
Updated: | April 19, 2010 |
| Description: |
The jpc_qcx_getcompparms function in jpc/jpc_cs.c could allow remote
user-assisted attackers to cause a denial of service (crash) and possibly
corrupt the heap via malformed image files. |
| Alerts: |
|
Comments (none posted)
java: multiple vulnerabilities
| Package(s): | java |
CVE #(s): | CVE-2006-4339
CVE-2006-4790
CVE-2006-6731
CVE-2006-6736
CVE-2006-6737
CVE-2006-6745
|
| Created: | January 18, 2007 |
Updated: | June 4, 2010 |
| Description: |
java has multiple vulnerabilities, these include:
an RSA exponent padding attack vulnerability, two vulnerabilities
which allow untrusted applets to access data in other applets,
vulnerabilities that involve applets gaining privileges due to
serialization bugs in the JRE and buffer overflows in the java image
handling routines that can give attackers read/write/execute capabilities
for local files. |
| Alerts: |
|
Comments (1 posted)
java-1.5.0-sun: multiple vulnerabilities
| Package(s): | java-1.5.0-sun |
CVE #(s): | CVE-2007-3503
CVE-2007-3655
CVE-2007-3698
CVE-2007-3922
|
| Created: | August 6, 2007 |
Updated: | June 24, 2008 |
| Description: |
The Javadoc tool was able to generate HTML documentation pages that
contained cross-site scripting (XSS) vulnerabilities. A remote attacker
could use this to inject arbitrary web script or HTML. (CVE-2007-3503)
The Java Web Start URL parsing component contained a buffer overflow
vulnerability within the parsing code for JNLP files. A remote attacker
could create a malicious JNLP file that could trigger this flaw and execute
arbitrary code when opened. (CVE-2007-3655)
The JSSE component did not correctly process SSL/TLS handshake requests. A
remote attacker who is able to connect to a JSSE-based service could
trigger this flaw leading to a denial-of-service. (CVE-2007-3698)
A flaw was found in the applet class loader. An untrusted applet could use
this flaw to circumvent network access restrictions, possibly connecting to
services hosted on the machine that executed the applet. (CVE-2007-3922)
|
| Alerts: |
|
Comments (none posted)
java-1.5.0-sun: multiple vulnerabilities
| Package(s): | java-1.5.0-sun |
CVE #(s): | CVE-2007-5232
CVE-2007-5238
CVE-2007-5239
CVE-2007-5240
CVE-2007-5273
CVE-2007-5274
|
| Created: | October 12, 2007 |
Updated: | April 25, 2008 |
| Description: |
Sun Java Runtime Environment (JRE) in JDK and JRE 6 Update 2 and earlier,
JDK and JRE 5.0 Update 12 and earlier, SDK and JRE 1.4.2_15 and earlier,
and SDK and JRE 1.3.1_20 and earlier, when applet caching is enabled,
allows remote attackers to violate the security model for an applet's
outbound connections via a DNS rebinding attack. (CVE-2007-5232)
Java Web Start in Sun JDK and JRE 6 Update 2 and earlier, JDK and JRE 5.0
Update 12 and earlier, and SDK and JRE 1.4.2_15 and earlier does not
properly enforce access restrictions for untrusted applications, which
allows user-assisted remote attackers to obtain sensitive information (the
Java Web Start cache location) via an untrusted application, aka "three
vulnerabilities." (CVE-2007-5238)
Java Web Start in Sun JDK and JRE 6 Update 2 and earlier, JDK and JRE 5.0
Update 12 and earlier, SDK and JRE 1.4.2_15 and earlier, and SDK and JRE
1.3.1_20 and earlier does not properly enforce access restrictions for
untrusted (1) applications and (2) applets, which allows user-assisted
remote attackers to copy or rename arbitrary files when local users perform
drag-and-drop operations from the untrusted application or applet window
onto certain types of desktop applications. (CVE-2007-5239)
Visual truncation vulnerability in the Java Runtime Environment in Sun JDK
and JRE 6 Update 2 and earlier, JDK and JRE 5.0 Update 12 and earlier, SDK
and JRE 1.4.2_15 and earlier, and SDK and JRE 1.3.1_20 and earlier allows
remote attackers to circumvent display of the untrusted-code warning banner
by creating a window larger than the workstation screen. (CVE-2007-5240)
Sun Java Runtime Environment (JRE) in JDK and JRE 6 Update 2 and earlier,
JDK and JRE 5.0 Update 12 and earlier, SDK and JRE 1.4.2_15 and earlier,
and SDK and JRE 1.3.1_20 and earlier, when an HTTP proxy server is used,
allows remote attackers to violate the security model for an applet's
outbound connections via a multi-pin DNS rebinding attack in which the
applet download relies on DNS resolution on the proxy server, but the
applet's socket operations rely on DNS resolution on the local machine, a
different issue than CVE-2007-5274. NOTE: this is similar to
CVE-2007-5232. (CVE-2007-5273)
Sun Java Runtime Environment (JRE) in JDK and JRE 6 Update 2 and earlier,
JDK and JRE 5.0 Update 12 and earlier, SDK and JRE 1.4.2_15 and earlier,
and SDK and JRE 1.3.1_20 and earlier, when Firefox or Opera is used, allows
remote attackers to violate the security model for JavaScript outbound
connections via a multi-pin DNS rebinding attack dependent on the
LiveConnect API, in which JavaScript download relies on DNS resolution by
the browser, but JavaScript socket operations rely on separate DNS
resolution by a Java Virtual Machine (JVM), a different issue than
CVE-2007-5273. NOTE: this is similar to CVE-2007-5232. (CVE-2007-5274) |
| Alerts: |
|
Comments (1 posted)
JRockit: multiple vulnerabilities
Comments (none posted)
kdebase: kdm passwordless login vulnerability
| Package(s): | kdebase kdm |
CVE #(s): | CVE-2007-4569
|
| Created: | September 21, 2007 |
Updated: | November 13, 2007 |
| Description: |
According to this KDE advisory KDM can be
tricked into performing a password-less login even for accounts with a
password set under certain circumstances, namely autologin to be configured
and "shutdown with password" enabled. KDE versions 3.3.0 up to including
3.5.7 are vulnerable. |
| Alerts: |
|
Comments (none posted)
kdelibs: kate backup file permission leak
| Package(s): | kdelibs kate kwrite |
CVE #(s): | CAN-2005-1920
|
| Created: | July 19, 2005 |
Updated: | September 21, 2010 |
| Description: |
Kate / Kwrite, as shipped with KDE 3.2.x up to including 3.4.0, creates a file backup before saving a modified file. These backup files are created with default permissions, even if the original file had more strict permissions set. See this advisory for more information. |
| Alerts: |
|
Comments (1 posted)
kernel: denial of service
| Package(s): | kernel |
CVE #(s): | CVE-2007-1357
|
| Created: | April 16, 2007 |
Updated: | November 14, 2007 |
| Description: |
The atalk_sum_skb function in AppleTalk for Linux kernel 2.6.x before
2.6.21, and possibly 2.4.x, allows remote attackers to cause a denial of
service (crash) via an AppleTalk frame that is shorter than the specified
length, which triggers a BUG_ON call when an attempt is made to perform a
checksum. |
| Alerts: |
|
Comments (none posted)
kernel: denial of service
| Package(s): | kernel |
CVE #(s): | CVE-2006-4623
|
| Created: | October 18, 2006 |
Updated: | November 14, 2007 |
| Description: |
The kernel DVB layer can be caused to crash with maliciously-formatted unidirectional lightweight encapsulation (ULE) data. |
| Alerts: |
|
Comments (none posted)
kernel: denial of service
| Package(s): | kernel |
CVE #(s): | CVE-2007-3642
|
| Created: | July 23, 2007 |
Updated: | November 14, 2007 |
| Description: |
The decode_choice function in net/netfilter/bf_conntrack_h323_asn1.c in the
Linux kernel before 2.6.22 allows remote attackers to cause a denial of
service (crash) via an encoded, out-of-range index value for a choice
field, which triggers a NULL pointer dereference. |
| Alerts: |
|
Comments (none posted)
kernel: out-of-bounds access
| Package(s): | kernel |
CVE #(s): | CVE-2007-4573
|
| Created: | September 25, 2007 |
Updated: | December 6, 2010 |
| Description: |
The IA32 system call emulation functionality in Linux kernel 2.4.x and
2.6.x before 2.6.22.7, when running on the x86_64 architecture, does not
zero extend the eax register after the 32bit entry path to ptrace is used,
which might allow local users to gain privileges by triggering an
out-of-bounds access to the system call table using the %RAX register. |
| Alerts: |
|
Comments (none posted)
kernel: multiple vulnerabilities
| Package(s): | kernel |
CVE #(s): | CVE-2007-0005
CVE-2007-1000
|
| Created: | March 15, 2007 |
Updated: | November 14, 2007 |
| Description: |
The Linux kernel has a boundary error problem with the
Omnikey CardMan 4040 driver read and write functions. This can be used
to cause a buffer overflow and possible execution or arbitrary code with
kernel privileges.
The ipv6_getsockopt_sticky function in
net/ipv6/ipv6_sockglue.c is vulnerable to a NULL pointer dereference.
Local users can use this to crash the kernel or to disclose kernel
memory. |
| Alerts: |
|
Comments (none posted)
kernel: denial of service
| Package(s): | kernel |
CVE #(s): | CVE-2006-0558
CVE-2007-1217
|
| Created: | September 4, 2007 |
Updated: | November 14, 2007 |
| Description: |
A flaw in the ISDN CAPI subsystem could allow a remote user to cause a
denial of service or potential remote access. Exploitation would require
the attacker to be able to send arbitrary frames over the ISDN network to
the victim's machine.
A flaw in the perfmon subsystem on ia64 platforms could allow a local user
to cause a denial of service. |
| Alerts: |
|
Comments (none posted)
kernel: denial of service
| Package(s): | kernel |
CVE #(s): | CVE-2006-0007
CVE-2007-0006
|
| Created: | February 15, 2007 |
Updated: | November 14, 2007 |
| Description: |
Linux kernel versions from 2.6.9 to 2.6.20 have a denial of service
vulnerability. A remote attacker can cause the key_alloc_serial
function's key serial number collision avoidance code to have a
null dereference, resulting in a crash. |
| Alerts: |
|
Comments (1 posted)
kernel: ALSA returns incorrect write size
| Package(s): | kernel |
CVE #(s): | CVE-2007-4571
|
| Created: | September 28, 2007 |
Updated: | June 20, 2008 |
| Description: |
The snd_mem_proc_read function in sound/core/memalloc.c in the Advanced
Linux Sound Architecture (ALSA) in the Linux kernel before 2.6.22.8 does
not return the correct write size, which allows local users to obtain
sensitive information (kernel memory contents) via a small count argument,
as demonstrated by multiple reads of /proc/driver/snd-page-alloc. |
| Alerts: |
|
Comments (none posted)
kernel: denial of service
| Package(s): | kernel |
CVE #(s): | CVE-2006-4535
CVE-2006-4538
|
| Created: | September 18, 2006 |
Updated: | January 5, 2009 |
| Description: |
Sridhar Samudrala discovered a local denial of service vulnerability
in the handling of SCTP sockets. By opening such a socket with a
special SO_LINGER value, a local attacker could exploit this to crash
the kernel. (CVE-2006-4535)
Kirill Korotaev discovered that the ELF loader on the ia64 and sparc
platforms did not sufficiently verify the memory layout. By attempting
to execute a specially crafted executable, a local user could exploit
this to crash the kernel. (CVE-2006-4538) |
| Alerts: |
|
Comments (none posted)
kernel: denial of service
| Package(s): | kernel |
CVE #(s): | CVE-2007-1861
CVE-2007-2242
|
| Created: | May 1, 2007 |
Updated: | February 8, 2008 |
| Description: |
The netlink protocol has an infinite recursion bug that allows users to
cause a kernel crash. Also the IPv6 protocol allows remote attackers to
cause a denial of service via crafted IPv6 type 0 route headers
(IPV6_RTHDR_TYPE_0) that create network amplification between two routers. |
| Alerts: |
|
Comments (none posted)
kernel: denial of service by memory consumption
| Package(s): | kernel |
CVE #(s): | CVE-2006-2936
|
| Created: | July 17, 2006 |
Updated: | November 14, 2007 |
| Description: |
The ftdi_sio driver (usb/serial/ftdi_sio.c) in Linux kernel 2.6.x up to
2.6.17, and possibly later versions, allows local users to cause a denial
of service (memory consumption) by writing more data to the serial port
than the driver can handle, which causes the data to be queued. |
| Alerts: |
|
Comments (none posted)
kernel: denial of service
| Package(s): | kernel |
CVE #(s): | CVE-2007-0772
|
| Created: | February 23, 2007 |
Updated: | November 14, 2007 |
| Description: |
The Linux kernel before 2.6.20.1 allows remote attackers to cause a denial
of service (oops) via a crafted NFSACL 2 ACCESS request that triggers a free
of an incorrect pointer. |
| Alerts: |
|
Comments (none posted)
kernel: several vulnerabilities
| Package(s): | kernel |
CVE #(s): | CVE-2007-1353
CVE-2007-2451
CVE-2007-2453
|
| Created: | June 11, 2007 |
Updated: | March 6, 2008 |
| Description: |
Ilja van Sprundel discovered that Bluetooth setsockopt calls could leak
kernel memory contents via an uninitialized stack buffer. A local attacker
could exploit this flaw to view sensitive kernel information.
(CVE-2007-1353)
The GEODE-AES driver did not correctly initialize its encryption key.
Any data encrypted using this type of device would be easily compromised.
(CVE-2007-2451)
The random number generator was hashing a subset of the available
entropy, leading to slightly less random numbers. Additionally, systems
without an entropy source would be seeded with the same inputs at boot
time, leading to a repeatable series of random numbers. (CVE-2007-2453) |
| Alerts: |
|
Comments (none posted)
kernel: signal handling flaw on PPC
| Package(s): | kernel |
CVE #(s): | CVE-2007-3107
|
| Created: | July 10, 2007 |
Updated: | February 4, 2008 |
| Description: |
A flaw in the signal handling on PowerPC-based systems that allowed a
local user to cause a denial of service (floating point corruption). |
| Alerts: |
|
Comments (none posted)
kernel: several vulnerabilities
| Package(s): | kernel |
CVE #(s): | CVE-2006-5823
CVE-2006-6054
CVE-2007-1592
|
| Created: | June 12, 2007 |
Updated: | March 21, 2011 |
| Description: |
A flaw in the cramfs file system allows invalid compressed data to cause
memory corruption (CVE-2006-5823)
A flaw in the ext2 file system allows an invalid inode size to cause a
denial of service (system hang) (CVE-2006-6054)
A flaw in IPV6 flow label handling allows a local user to cause a denial of
service (crash) (CVE-2007-1592) |
| Alerts: |
|
Comments (none posted)
kernel: denial of service
| Package(s): | kernel |
CVE #(s): | CVE-2006-5757
|
| Created: | November 13, 2006 |
Updated: | November 14, 2007 |
| Description: |
From the MOKB-05-11-2006
advisory: "The ISO9660 filesystem handling code of the Linux
2.6.x kernel fails to properly handle corrupted data structures, leading to
an exploitable denial of service condition. This particular vulnerability
seems to be caused by a race condition and a signedness issue. When
performing a read operation on a corrupted ISO9660 fs stream, the
isofs_get_blocks() function will enter an infinite loop when
__find_get_block_slow() callback from sb_getblk() fails ("due to various
races between file io on the block device and getblk")." |
| Alerts: |
|
Comments (none posted)
kernel: denial of service
| Package(s): | kernel |
CVE #(s): | CVE-2006-2935
CVE-2006-4145
CVE-2006-3745
|
| Created: | September 1, 2006 |
Updated: | July 30, 2008 |
| Description: |
Previous versions of the kernel package are subject to several
vulnerabilities. Certain malformed UDF filesystems can cause the system to
crash (denial of service). Malformed CDROM firmware or USB storage devices
(such as USB keys) could cause system crash (denial of service), and if
they were intentionally malformed, can cause arbitrary code to run with
elevated privileges. In addition, the SCTP protocol is subject to a remote
system crash (denial of service) attack. |
| Alerts: |
|
Comments (none posted)
kernel: multiple vulnerabilities
| Package(s): | kernel |
CVE #(s): | CVE-2006-5749
CVE-2006-4814
CVE-2006-6106
|
| Created: | January 5, 2007 |
Updated: | January 8, 2009 |
| Description: |
A security issue has been reported in Linux kernel due to an error in
drivers/isdn/i4l/isdn_ppp.c as the "isdn_ppp_ccp_reset_alloc_state()"
function never initializes an event timer before scheduling it with the
"add_timer()" function.
The mincore function in the kernel does not properly lock access to user
space, which has unspecified impact and attack vectors, possibly related to
a deadlock.
Another vulnerability has been reported in Linux kernel caused by a
boundary error within the handling of incoming CAPI messages in
net/bluetooth/cmtp/capi.c. This can be exploited to overwrite certain
Kernel data structures. |
| Alerts: |
|
Comments (none posted)
kernel: several vulnerabilities
| Package(s): | kernel |
CVE #(s): | CVE-2007-3851
CVE-2007-3848
CVE-2007-3105
|
| Created: | August 17, 2007 |
Updated: | January 8, 2009 |
| Description: |
The drm/i915 component in the Linux kernel before 2.6.22.2, when used with
i965G and later chipsets, allows local users with access to an X11 session
and Direct Rendering Manager (DRM) to write to arbitrary memory locations
and gain privileges via a crafted batchbuffer. (CVE-2007-3851)
Linux kernel 2.4.35 and other versions allows local users to send arbitrary
signals to a child process that is running at higher privileges by causing
a setuid-root parent process to die, which delivers an attacker-controlled
parent process death signal (PR_SET_PDEATHSIG). (CVE-2007-3848)
Stack-based buffer overflow in the random number generator (RNG)
implementation in the Linux kernel before 2.6.22 might allow local root
users to cause a denial of service or gain privileges by setting the
default wakeup threshold to a value greater than the output pool size,
which triggers writing random numbers to the stack by the pool transfer
function involving "bound check ordering". NOTE: this issue might only
cross privilege boundaries in environments that have granular assignment of
privileges for root. (CVE-2007-3105) |
| Alerts: |
|
Comments (1 posted)
krb5: multiple vulnerabilities
| Package(s): | krb5 |
CVE #(s): | CVE-2007-2442
CVE-2007-2443
CVE-2007-2798
|
| Created: | June 27, 2007 |
Updated: | March 24, 2008 |
| Description: |
David Coffey discovered an uninitialized pointer free flaw in the
RPC library used by kadmind. A remote unauthenticated attacker who
could access kadmind could trigger the flaw causing kadmind to crash
or possibly execute arbitrary code (CVE-2007-2442).
David Coffey also discovered an overflow flaw in the same RPC library.
A remote unauthenticated attacker who could access kadmind could
trigger the flaw causing kadmind to crash or possibly execute arbitrary
code (CVE-2007-2443).
Finally, a stack buffer overflow vulnerability was found in kadmind
that allowed an unauthenticated user able to access kadmind the
ability to trigger the vulnerability and possibly execute arbitrary
code (CVE-2007-2798). |
| Alerts: |
|
Comments (none posted)
krb5: uninitialized pointers
| Package(s): | krb5 |
CVE #(s): | CVE-2006-6143
CVE-2006-3084
|
| Created: | January 10, 2007 |
Updated: | July 7, 2010 |
| Description: |
The kdamind daemon can, in some situations, perform operations on uninitialized pointers. This bug could conceivably open up the system to a code execution attack by an unauthenticated remote attacker, but it appears to be difficult to exploit. See this advisory for details. |
| Alerts: |
|
Comments (1 posted)
krb5: local privilege escalation
| Package(s): | krb5 |
CVE #(s): | CVE-2006-3083
|
| Created: | August 9, 2006 |
Updated: | July 7, 2010 |
| Description: |
Some kerberos applications fail to check the results of setuid() calls, with the result that, if that call fails, they could continue to execute as root after thinking they had switched to a nonprivileged user. A local attacker who can cause these calls to fail (through resource exhaustion, presumably) could exploit this bug to gain root privileges. |
| Alerts: |
|
Comments (none posted)
krb5: buffer overflow, uninitialized pointer
| Package(s): | krb5 |
CVE #(s): | CVE-2007-3999
CVE-2007-4000
|
| Created: | September 4, 2007 |
Updated: | March 24, 2008 |
| Description: |
Tenable Network Security discovered a stack buffer overflow flaw in the RPC
library used by kadmind. A remote unauthenticated attacker who can access
kadmind could trigger this flaw and cause kadmind to crash.
Garrett Wollman discovered an uninitialized pointer flaw in kadmind. A
remote unauthenticated attacker who can access kadmind could trigger this
flaw and cause kadmind to crash. |
| Alerts: |
|
Comments (none posted)
krb5: multiple vulnerabilities
| Package(s): | krb5 |
CVE #(s): | CVE-2007-0956
CVE-2007-0957
CVE-2007-1216
|
| Created: | April 3, 2007 |
Updated: | March 24, 2008 |
| Description: |
A flaw was found in the username handling of the MIT krb5 telnet daemon
(telnetd). A remote attacker who can access the telnet port of a target
machine could log in as root without requiring a password. MIT krb5 Security Advisory 2007-001
Buffer overflows were found which affect the Kerberos KDC and the kadmin
server daemon. A remote attacker who can access the KDC could exploit this
bug to run arbitrary code with the privileges of the KDC or kadmin server
processes. MIT krb5 Security Advisory
2007-002
A double-free flaw was found in the GSSAPI library used by the kadmin
server daemon. MIT krb5 Security Advisory
2007-003 |
| Alerts: |
|
Comments (none posted)
kvirc: remote arbitrary code execution
| Package(s): | kvirc |
CVE #(s): | CVE-2007-2951
|
| Created: | September 14, 2007 |
Updated: | February 27, 2008 |
| Description: |
Stefan Cornelius from Secunia Research discovered that the
"parseIrcUrl()" function in file src/kvirc/kernel/kvi_ircurl.cpp does
not properly sanitize parts of the URI when building the command for
KVIrc's internal script system. |
| Alerts: |
|
Comments (none posted)
lftp: shell command execution
| Package(s): | lftp |
CVE #(s): | CVE-2007-2348
|
| Created: | May 4, 2007 |
Updated: | September 16, 2009 |
| Description: |
mirror --script in lftp before 3.5.9 does not properly quote shell
metacharacters, which might allow remote user-assisted attackers to execute
shell commands via a malicious script. NOTE: it is not clear whether this
issue crosses security boundaries, since the script already supports
commands such as "get" which could overwrite executable files. |
| Alerts: |
|
Comments (none posted)
libarchive: pax extension header vulnerabilities
| Package(s): | libarchive |
CVE #(s): | CVE-2007-3641
CVE-2007-3644
CVE-2007-3645
|
| Created: | August 9, 2007 |
Updated: | February 27, 2008 |
| Description: |
libarchive, a library for manipulating different streaming archive
formats, has a number of pax extension header vulnerabilities.
These may be used to cause a denial of service or for the execution
of arbitrary code. |
| Alerts: |
|
Comments (none posted)
libexif: integer overflow
| Package(s): | libexif |
CVE #(s): | CVE-2007-2645
|
| Created: | June 1, 2007 |
Updated: | February 11, 2008 |
| Description: |
Integer overflow in the exif_data_load_data_entry function in exif-data.c
in libexif before 0.6.14 allows user-assisted remote attackers to cause a
denial of service (crash) or possibly execute arbitrary code via crafted
EXIF data, involving the (1) doff or (2) s variable. |
| Alerts: |
|
Comments (none posted)
libmodplug: boundary errors
| Package(s): | libmodplug |
CVE #(s): | CVE-2006-4192
|
| Created: | December 11, 2006 |
Updated: | May 4, 2011 |
| Description: |
Luigi Auriemma has reported various boundary errors in load_it.cpp and
a boundary error in the "CSoundFile::ReadSample()" function in
sndfile.cpp. A remote attacker can entice a user to read crafted modules
or ITP files, which may trigger a buffer overflow resulting in the
execution of arbitrary code with the privileges of the user running the
application. |
| Alerts: |
|
Comments (none posted)
libphp-phpmailer: command execution
| Package(s): | libphp-phpmailer |
CVE #(s): | CVE-2007-3215
|
| Created: | June 20, 2007 |
Updated: | June 25, 2009 |
| Description: |
libphp-phpmailer does not do sufficient input validation, enabling shell command injection attacks. |
| Alerts: |
|
Comments (none posted)
libpng: several vulnerabilities
| Package(s): | libpng |
CVE #(s): | CVE-2007-5266
CVE-2007-5267
CVE-2007-5268
CVE-2007-5269
|
| Created: | October 19, 2007 |
Updated: | March 23, 2009 |
| Description: |
Certain chunk handlers in libpng before 1.0.29 and 1.2.x before 1.2.21
allow remote attackers to cause a denial of service (crash) via crafted (1)
pCAL (png_handle_pCAL), (2) sCAL (png_handle_sCAL), (3) tEXt
(png_push_read_tEXt), (4) iTXt (png_handle_iTXt), and (5) ztXT
(png_handle_ztXt) chunking in PNG images, which trigger out-of-bounds read
operations. (CVE-2007-5269)
pngrtran.c in libpng before 1.0.29 and 1.2.x before 1.2.21 use (1) logical
instead of bitwise operations and (2) incorrect comparisons, which might
allow remote attackers to cause a denial of service (crash) via a crafted
PNG image. (CVE-2007-5268)
Off-by-one error in ICC profile chunk handling in the png_set_iCCP function
in pngset.c in libpng before 1.2.22 beta1 allows remote attackers to cause
a denial of service (crash) via a crafted PNG image, due to an incorrect
fix for CVE-2007-5266. (CVE-2007-5267)
Off-by-one error in ICC profile chunk handling in the png_set_iCCP function
in pngset.c in libpng before 1.0.29 beta1 and 1.2.x before 1.2.21 beta1
allows remote attackers to cause a denial of service (crash) via a crafted
PNG image that prevents a name field from being NULL terminated.
(CVE-2007-5266) |
| Alerts: |
|
Comments (none posted)
libpng: denial of service
| Package(s): | libpng |
CVE #(s): | CVE-2007-2445
|
| Created: | May 17, 2007 |
Updated: | March 23, 2009 |
| Description: |
Libpng can be crashed when processing malformed PNG files.
It may also be possible to exploit this vulnerability to execute arbitrary
code. |
| Alerts: |
|
Comments (none posted)
libpng: buffer overflow
| Package(s): | libpng |
CVE #(s): | CVE-2006-3334
|
| Created: | July 19, 2006 |
Updated: | December 15, 2008 |
| Description: |
In pngrutil.c, the function png_decompress_chunk() allocates
insufficient space for an error message, potentially overwriting stack
data, leading to a buffer overflow. |
| Alerts: |
|
Comments (none posted)
libpng: heap based buffer overflow
| Package(s): | libpng |
CVE #(s): | CVE-2006-0481
|
| Created: | February 13, 2006 |
Updated: | December 15, 2008 |
| Description: |
A heap based buffer overflow bug was found in the way libpng strips alpha
channels from a PNG image. An attacker could create a carefully crafted PNG
image file in such a way that it could cause an application linked with
libpng to crash or execute arbitrary code when the file is opened by a
victim. |
| Alerts: |
|
Comments (1 posted)
libsndfile: heap-based buffer overflow
| Package(s): | libsndfile |
CVE #(s): | CVE-2007-4974
|
| Created: | September 25, 2007 |
Updated: | January 9, 2008 |
| Description: |
Heap-based buffer overflow in libsndfile 1.0.17 and earlier might allow
remote attackers to execute arbitrary code via a FLAC file with crafted PCM
data containing a block with a size that exceeds the previous block size. |
| Alerts: |
|
Comments (none posted)
libtiff: buffer overflow
| Package(s): | libtiff |
CVE #(s): | CVE-2006-2193
|
| Created: | June 15, 2006 |
Updated: | September 1, 2008 |
| Description: |
The t2p_write_pdf_string function in libtiff 3.8.2 and earlier is vulnerable
to a buffer overflow. Attackers can use a TIFF file with UTF-8 characters
in the DocumentName tag to overflow a buffer, causing a denial of service,
and possibly the execution of arbitrary code. |
| Alerts: |
|
Comments (none posted)
libvorbis: multiple memory corruption flaws
| Package(s): | libvorbis |
CVE #(s): | CVE-2007-3106
CVE-2007-4029
|
| Created: | July 27, 2007 |
Updated: | January 22, 2008 |
| Description: |
This iSEC Partners security advisory has
details on multiple memory corruption flaws in libvorbis. |
| Alerts: |
|
Comments (none posted)
libvorbis: multiple vulnerabilities
| Package(s): | libvorbis |
CVE #(s): | CVE-2007-4065
CVE-2007-4066
|
| Created: | October 11, 2007 |
Updated: | January 22, 2008 |
| Description: |
libvorbis has a number of vulnerabilities that can be triggered by
opening a specially crafted Ogg file. Vulnerabilities include
crashing and the execution of arbitrary code. |
| Alerts: |
|
Comments (1 posted)
libxml2 - arbitrary code execution
| Package(s): | libxml2 |
CVE #(s): | CAN-2004-0110
|
| Created: | February 26, 2004 |
Updated: | August 19, 2009 |
| Description: |
Yuuichi Teranishi discovered a flaw in libxml2 versions prior to 2.6.6.
When fetching a remote resource via FTP or HTTP, libxml2 uses special
parsing routines. These routines can overflow a buffer if passed a very
long URL. If an attacker is able to find an application using libxml2 that
parses remote resources and allows them to influence the URL, then this
flaw could be used to execute arbitrary code. |
| Alerts: |
|
Comments (none posted)
libxml2: multiple buffer overflows
| Package(s): | libxml2 |
CVE #(s): | CAN-2004-0989
|
| Created: | October 28, 2004 |
Updated: | August 19, 2009 |
| Description: |
libxml2 prior to version 2.6.14 has multiple buffer overflow
vulnerabilities, if a local user passes a specially crafted
FTP URL, arbitrary code may be executed. |
| Alerts: |
|
Comments (none posted)
liferea: weak permissions
| Package(s): | liferea |
CVE #(s): | CVE-2007-5751
|
| Created: | November 2, 2007 |
Updated: | December 22, 2008 |
| Description: |
Liferea before 1.4.6 uses weak permissions (0644) for the feedlist.opml backup file, which allows local users to obtain credentials. |
| Alerts: |
|
Comments (1 posted)
lighttpd: denial of service
| Package(s): | lighttpd |
CVE #(s): | CVE-2007-3946
CVE-2007-3947
CVE-2007-3948
CVE-2007-3949
CVE-2007-3950
|
| Created: | July 19, 2007 |
Updated: | July 15, 2008 |
| Description: |
The lighttpd web server has multiple vulnerabilities involving
a remote access-control setting circumvention that is performed
by the sending of malformed requests. This can be used to crash
the server and cause a denial of service. |
| Alerts: |
|
Comments (none posted)
lookup-el: insecure temporary file
| Package(s): | lookup-el |
CVE #(s): | CVE-2007-0237
|
| Created: | March 19, 2007 |
Updated: | December 10, 2007 |
| Description: |
Tatsuya Kinoshita discovered that Lookup, a search interface to electronic
dictionaries on emacsen, creates a temporary file in an insecure fashion
when the ndeb-binary feature is used, which allows a local attacker to
craft a symlink attack to overwrite arbitrary files. |
| Alerts: |
|
Comments (none posted)
lynx: arbitrary command execution
| Package(s): | lynx |
CVE #(s): | CVE-2005-2929
|
| Created: | November 14, 2005 |
Updated: | September 14, 2009 |
| Description: |
An arbitrary command execute bug was found in the lynx "lynxcgi:" URI
handler. An attacker could create a web page redirecting to a malicious URL
which could execute arbitrary code as the user running lynx. |
| Alerts: |
|
Comments (none posted)
mapserver: multiple cross-site scripting vulnerabilities
| Package(s): | mapserver |
CVE #(s): | CVE-2007-4542
CVE-2007-4629
|
| Created: | September 5, 2007 |
Updated: | April 7, 2008 |
| Description: |
CVE-2007-4542: Multiple cross-site scripting (XSS) vulnerabilities in MapServer before 4.10.3 allow remote attackers to inject arbitrary web script or HTML via unspecified vectors involving the (1) processLine function in maptemplate.c and the (2) writeError function in mapserv.c in the mapserv CGI program.
CVE-2007-4629: Buffer overflow in the processLine function in maptemplate.c in MapServer before 4.10.3 allows attackers to cause a denial of service and possibly execute arbitrary code via a mapfile with a long layer name, group name, or metadata entry name. |
| Alerts: |
|
Comments (none posted)
mcstrans: denial of service
| Package(s): | mcstrans |
CVE #(s): | CVE-2007-4570
|
| Created: | November 7, 2007 |
Updated: | November 7, 2007 |
| Description: |
An algorithmic complexity weakness was found in the way the mcstrans daemon
handled ranges of compartments in sensitivity labels. A local user could
trigger this flaw causing mctransd to temporarily stop responding to other
requests; a partial denial of service. (CVE-2007-4570) |
| Alerts: |
|
Comments (none posted)
mod_jk: proxy bypass
| Package(s): | mod_jk |
CVE #(s): | CVE-2007-1860
|
| Created: | May 30, 2007 |
Updated: | March 7, 2008 |
| Description: |
From the Red Hat advisory: "Versions of mod_jk before 1.2.23 decoded request URLs by default inside
Apache httpd and forwarded the encoded URL to Tomcat, which itself did a
second decoding. If Tomcat was used behind mod_jk and configured to only
proxy some contexts, an attacker could construct a carefully crafted HTTP
request to work around the context restriction and potentially access
non-proxied content." |
| Alerts: |
|
Comments (none posted)
moin: arbitrary JavaScript execution
| Package(s): | moin |
CVE #(s): | CVE-2007-2423
|
| Created: | May 8, 2007 |
Updated: | March 10, 2008 |
| Description: |
A flaw was discovered in MoinMoin's error reporting when using the
AttachFile action. By tricking a user into viewing a crafted MoinMoin
URL, an attacker could execute arbitrary JavaScript as the current
MoinMoin user, possibly exposing the user's authentication information
for the domain where MoinMoin was hosted. |
| Alerts: |
|
Comments (none posted)
mono: arbitrary code execution via integer overflow
| Package(s): | mono |
CVE #(s): | CVE-2007-5197
|
| Created: | November 6, 2007 |
Updated: | December 7, 2009 |
| Description: |
From the Debian advisory: An integer overflow in the BigInteger data type implementation has been
discovered in the free .NET runtime Mono.
|
| Alerts: |
|
Comments (none posted)
moodle: cross-site scripting
| Package(s): | moodle |
CVE #(s): | CVE-2007-3555
|
| Created: | August 7, 2007 |
Updated: | December 22, 2008 |
| Description: |
A cross-site scripting (XSS) vulnerability in index.php in Moodle 1.7.1
allows remote attackers to inject arbitrary web script or HTML via a style
expression in the search parameter. |
| Alerts: |
|
Comments (none posted)
mplayer: buffer overflow
| Package(s): | mplayer |
CVE #(s): | CVE-2007-1246
|
| Created: | March 8, 2007 |
Updated: | April 1, 2008 |
| Description: |
MPlayer versions up to 1.0rc1 have a buffer overflow in the
loader/dmo/DMO_VideoDecoder.c DMO_VideoDecoder_Open function.
user-assisted remote attackers can use this to create a buffer overflow
and possibly execute arbitrary code. |
| Alerts: |
|
Comments (none posted)
mydns: buffer overflows
| Package(s): | mydns |
CVE #(s): | CVE-2007-2362
|
| Created: | May 23, 2007 |
Updated: | December 17, 2007 |
| Description: |
Multiple buffer overflows in MyDNS allow remote attackers to cause a denial of
service (daemon crash) and possibly execution of arbitrary code. |
| Alerts: |
|
Comments (none posted)
mysql: denial of service
| Package(s): | mysql |
CVE #(s): | CVE-2007-1420
|
| Created: | March 22, 2007 |
Updated: | May 21, 2008 |
| Description: |
MySQL subselect queries using "ORDER BY" can be used by an attacker with
access to a MySQL instance in order to create an intermittent denial
of service. |
| Alerts: |
|
Comments (none posted)
mysql: format string bug
| Package(s): | mysql |
CVE #(s): | CVE-2006-3469
|
| Created: | July 21, 2006 |
Updated: | July 30, 2008 |
| Description: |
Jean-David Maillefer discovered a format string bug in the
date_format() function's error reporting. By calling the function with
invalid arguments, an authenticated user could exploit this to crash
the server. |
| Alerts: |
|
Comments (none posted)
MySQL: privilege violations
| Package(s): | mysql |
CVE #(s): | CVE-2006-4031
CVE-2006-4226
|
| Created: | August 25, 2006 |
Updated: | July 30, 2008 |
| Description: |
MySQL 4.1 before 4.1.21 and 5.0 before 5.0.24 allows a local user to access
a table through a previously created MERGE table, even after the user's
privileges are revoked for the original table, which might violate intended
security policy (CVE-2006-4031).
MySQL 4.1 before 4.1.21, 5.0 before 5.0.25, and 5.1 before 5.1.12, when run
on case-sensitive filesystems, allows remote authenticated users to create
or access a database when the database name differs only in case from a
database for which they have permissions (CVE-2006-4226). |
| Alerts: |
|
Comments (none posted)
mysql: multiple vulnerabilities
Comments (none posted)
MySQL: logging bypass
| Package(s): | mysql |
CVE #(s): | CVE-2006-0903
|
| Created: | April 4, 2006 |
Updated: | May 21, 2008 |
| Description: |
MySQL 5.0.18 and earlier allows local users to bypass logging mechanisms
via SQL queries that contain the NULL character, which are not properly
handled by the mysql_real_query function. NOTE: this issue was originally
reported for the mysql_query function, but the vendor states that since
mysql_query expects a null character, this is not an issue for mysql_query. |
| Alerts: |
|
Comments (2 posted)
nagios-plugins: buffer overflow
| Package(s): | nagios-plugins |
CVE #(s): | CVE-2007-5198
|
| Created: | October 23, 2007 |
Updated: | April 17, 2008 |
| Description: |
Buffer overflow in the redir function in check_http.c in Nagios Plugins
before 1.4.10 allows remote web servers to execute arbitrary code via long
Location header responses (redirects). |
| Alerts: |
|
Comments (none posted)
nagios-plugins: check_snmp buffer overflow
| Package(s): | nagios-plugins |
CVE #(s): | CVE-2007-5623
|
| Created: | November 2, 2007 |
Updated: | April 17, 2008 |
| Description: |
Buffer overflow in the check_snmp function in Nagios Plugins (nagios-plugins) 1.4.10 allows remote attackers to cause a denial of service (crash) via crafted snmpget replies. |
| Alerts: |
|
Comments (none posted)
nbd: arbitrary code execution
| Package(s): | nbd |
CVE #(s): | CVE-2005-3534
|
| Created: | January 6, 2006 |
Updated: | March 7, 2011 |
| Description: |
Kurt Fitzner discovered that the NBD (network block device) server did not
correctly verify the maximum size of request packets. By sending specially
crafted large request packets, a remote attacker who is allowed to access
the server could exploit this to execute arbitrary code with root
privileges. |
| Alerts: |
|
Comments (none posted)
nginx: cross site scripting
| Package(s): | nginx |
CVE #(s): | |
| Created: | July 20, 2007 |
Updated: | September 14, 2009 |
| Description: |
Nginx [engine x] is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3
proxy server written by Igor Sysoev. The "msie_refresh" directive could
allow cross site scripting. |
| Alerts: |
|
Comments (none posted)
opal: denial of service
| Package(s): | opal |
CVE #(s): | CVE-2007-4924
|
| Created: | October 8, 2007 |
Updated: | January 9, 2008 |
| Description: |
From the Red Hat advisory: A flaw was discovered in the way opal handled certain Session Initiation
Protocol (SIP) packets. An attacker could use this flaw to crash an
application, such as Ekiga, which is linked with opal. (CVE-2007-4924) |
| Alerts: |
|
Comments (none posted)
OpenOffice.org: arbitrary code execution
| Package(s): | openoffice.org |
CVE #(s): | CVE-2007-0245
|
| Created: | June 13, 2007 |
Updated: | June 12, 2008 |
| Description: |
A specially crafted RTF file could cause the
filter to overwrite data on the heap, which may lead to the execution
of arbitrary code. |
| Alerts: |
|
Comments (none posted)
openoffice.org: arbitrary code execution via TIFF images
| Package(s): | openoffice.org |
CVE #(s): | CVE-2007-2834
|
| Created: | September 17, 2007 |
Updated: | June 12, 2008 |
| Description: |
A heap overflow vulnerability has been discovered in the TIFF parsing
code of the OpenOffice.org suite. The parser uses untrusted values
from the TIFF file to calculate the number of bytes of memory to
allocate. A specially crafted TIFF image could trigger an integer
overflow and subsequently a buffer overflow that could cause the
execution of arbitrary code. |
| Alerts: |
|
Comments (none posted)
OpenSSH: denial of service
| Package(s): | openssh |
CVE #(s): | CVE-2006-4925
CVE-2006-5052
|
| Created: | October 6, 2006 |
Updated: | November 15, 2007 |
| Description: |
packet.c in ssh in OpenSSH allows remote attackers to cause a denial of
service (crash) by sending an invalid protocol sequence with
USERAUTH_SUCCESS before NEWKEYS, which causes newkeys[mode] to be NULL.
An unspecified vulnerability in portable OpenSSH before 4.4, when running
on some platforms, allows remote attackers to determine the validity of
usernames via unknown vectors involving a GSSAPI "authentication abort." |
| Alerts: |
|
Comments (none posted)
openssh: remote denial of service
| Package(s): | openssh |
CVE #(s): | CVE-2006-4924
CVE-2006-5051
|
| Created: | September 27, 2006 |
Updated: | September 17, 2008 |
| Description: |
Openssh 4.4 fixes some
security issues, including a pre-authentication denial of service, an
unsafe signal hander and on portable OpenSSH a GSSAPI authentication abort
could be used to determine the validity of usernames on some platforms. |
| Alerts: |
|
Comments (none posted)
openssl: off-by-one error
| Package(s): | openssl |
CVE #(s): | CVE-2007-4995
|
| Created: | October 23, 2007 |
Updated: | May 13, 2008 |
| Description: |
Off-by-one error in the DTLS implementation in OpenSSL 0.9.8 before 0.9.8f
and 0.9.7 allows remote attackers to execute arbitrary code via unspecified
vectors. |
| Alerts: |
|
Comments (none posted)
openssl: off-by-one error
| Package(s): | openssl |
CVE #(s): | CVE-2007-5135
|
| Created: | October 3, 2007 |
Updated: | July 31, 2008 |
| Description: |
From the Debian advisory: An off-by-one error has been identified in the SSL_get_shared_ciphers()
routine in the libssl library from OpenSSL, an implementation of Secure
Socket Layer cryptographic libraries and utilities. This error could
allow an attacker to crash an application making use of OpenSSL's libssl
library, or potentially execute arbitrary code in the security context
of the user running such an application. |
| Alerts: |
|
Comments (none posted)
openssl: private key attack
| Package(s): | openssl |
CVE #(s): | CVE-2007-3108
|
| Created: | August 7, 2007 |
Updated: | May 13, 2008 |
| Description: |
OpenSSL could allow a local user in certain circumstances to divulge
information about private keys being used. |
| Alerts: |
|
Comments (none posted)
opera: multiple vulnerabilities
| Package(s): | opera |
CVE #(s): | CVE-2007-4367
CVE-2007-3929
CVE-2007-3142
CVE-2007-3819
|
| Created: | August 23, 2007 |
Updated: | February 27, 2008 |
| Description: |
The Opera browser has multiple vulnerabilities.
The JavaScript engine is vulnerable to a virtual function call on an invalid pointer that can be triggered by specially crafted JavaScript.
A freed pointer in the BitTorrent support may be
accessed, this can be used for malicious code execution.
The browser is vulnerable to several memory read protection
errors. There are URI display errors that can be used to trick
users into visiting arbitrary web sites. |
| Alerts: |
|
Comments (none posted)
pam: privilege escalation
| Package(s): | pam |
CVE #(s): | CVE-2007-1716
|
| Created: | June 12, 2007 |
Updated: | November 15, 2007 |
| Description: |
A flaw was found in the way pam_console set console device permissions. It
was possible for various console devices to retain ownership of the console
user after logging out, possibly leaking information to an unauthorized
user. |
| Alerts: |
|
Comments (none posted)
pcre: two arbitrary code execution vulnerabilities
| Package(s): | pcre |
CVE #(s): | CVE-2007-1659
CVE-2007-1660
|
| Created: | November 6, 2007 |
Updated: | July 16, 2008 |
| Description: |
Multiple flaws were found in the way pcre handles certain malformed regular
expressions. If an application linked against pcre, such as Konqueror,
parses a malicious regular expression, it may be possible to run arbitrary
code as the user running the application. (CVE-2007-1659, CVE-2007-1660) |
| Alerts: |
|
Comments (none posted)
perdition: arbitrary code execution via crafted IMAP tag
| Package(s): | perdition |
CVE #(s): | CVE-2007-5740
|
| Created: | November 6, 2007 |
Updated: | November 7, 2007 |
| Description: |
From the Debian advisory:
Bernhard Mueller of SEC Consult has discovered a format string
vulnerability in perdition, an IMAP proxy. This vulnerability could
allow an unauthenticated remote user to run arbitrary code on the
perdition server by providing a specially formatted IMAP tag. |
| Alerts: |
|
Comments (none posted)
perl: arbitrary code execution
| Package(s): | Perl |
CVE #(s): | CVE-2007-5116
|
| Created: | November 6, 2007 |
Updated: | December 5, 2007 |
| Description: |
A flaw was found in Perl's regular expression engine. Specially crafted
input to a regular expression can cause Perl to improperly allocate memory,
possibly resulting in arbitrary code running with the permissions of the
user running Perl. (CVE-2007-5116)
|
| Alerts: |
|
Comments (none posted)
perl-Net-DNS: predictable id sequence
| Package(s): | perl-Net-DNS |
CVE #(s): | CVE-2007-3377
|
| Created: | June 26, 2007 |
Updated: | March 12, 2008 |
| Description: |
Net::DNS before 0.60 uses an id sequence that is predictable and the same
in all child processes. |
| Alerts: |
|
Comments (none posted)
php: multiple vulnerabilities
| Package(s): | php |
CVE #(s): | CVE-2007-1001
CVE-2007-1285
CVE-2007-1718
CVE-2007-1583
|
| Created: | April 16, 2007 |
Updated: | December 4, 2007 |
| Description: |
A denial of service flaw was found in the way PHP processed a deeply nested
array. A remote attacker could cause the PHP interpreter to crash by
submitting an input variable with a deeply nested array. (CVE-2007-1285)
A flaw was found in the way the mbstring extension set global variables. A
script which used the mb_parse_str() function to set global variables could
be forced to enable the register_globals configuration option, possibly
resulting in global variable injection. (CVE-2007-1583)
A flaw was discovered in the way PHP's mail() function processed header
data. If a script sent mail using a Subject header containing a string from
an untrusted source, a remote attacker could send bulk e-mail to unintended
recipients. (CVE-2007-1718)
A heap based buffer overflow flaw was discovered in PHP's gd extension. A
script that could be forced to process WBMP images from an untrusted source
could result in arbitrary code execution. (CVE-2007-1001) |
| Alerts: |
|
Comments (none posted)
php: several vulnerabilities
| Package(s): | php |
CVE #(s): | CVE-2006-4481
CVE-2006-4484
CVE-2006-4485
|
| Created: | September 8, 2006 |
Updated: | June 13, 2008 |
| Description: |
The file_exists and imap_reopen functions in PHP before 5.1.5 do not check
for the safe_mode and open_basedir settings, which allows local users to
bypass the settings (CVE-2006-4481).
A buffer overflow in the LWZReadByte function in ext/gd/libgd/gd_gif_in.c
in the GD extension in PHP before 5.1.5 allows remote attackers to have an
unknown impact via a GIF file with input_code_size greater than
MAX_LWZ_BITS, which triggers an overflow when initializing the table array
(CVE-2006-4484).
The stripos function in PHP before 5.1.5 has unknown impact and attack
vectors related to an out-of-bounds read (CVE-2006-4485). |
| Alerts: |
|
Comments (1 posted)
php: multiple vulnerabilities
| Package(s): | php |
CVE #(s): | CVE-2007-2872
CVE-2007-2756
|
| Created: | June 1, 2007 |
Updated: | January 29, 2008 |
| Description: |
According to a vendor release announcement multiple
security enhancements and fixes were fixed in version 5.2.3 of the
programming language PHP. |
| Alerts: |
|
Comments (none posted)
php: multiple vulnerabilities
| Package(s): | php |
CVE #(s): | CVE-2007-3799
CVE-2007-3998
CVE-2007-4659
CVE-2007-4658
CVE-2007-4670
CVE-2007-4661
|
| Created: | October 23, 2007 |
Updated: | May 19, 2008 |
| Description: |
From the Red Hat advisory:
Various integer overflow flaws were found in the PHP gd extension. A
script that could be forced to resize images from an untrusted source could
possibly allow a remote attacker to execute arbitrary code as the apache
user. (CVE-2007-3996)
A previous security update introduced a bug into PHP session cookie
handling. This could allow an attacker to stop a victim from viewing a
vulnerable web site if the victim has first visited a malicious web page
under the control of the attacker, and that page can set a cookie for the
vulnerable web site. (CVE-2007-4670)
A flaw was found in the PHP money_format function. If a remote attacker
was able to pass arbitrary data to the money_format function this could
possibly result in an information leak or denial of service. Note that is
is unusual for a PHP script to pass user-supplied data to the money_format
function. (CVE-2007-4658)
A flaw was found in the PHP wordwrap function. If a remote attacker was
able to pass arbitrary data to the wordwrap function this could possibly
result in a denial of service. (CVE-2007-3998)
A bug was found in PHP session cookie handling. This could allow an
attacker to create a cross-site cookie insertion attack if a victim follows
an untrusted carefully-crafted URL. (CVE-2007-3799)
A flaw was found in handling of dynamic changes to global variables. A
script which used certain functions which change global variables could
be forced to enable the register_globals configuration option, possibly
resulting in global variable injection. (CVE-2007-4659)
An integer overflow flaw was found in the PHP chunk_split function. If a
remote attacker was able to pass arbitrary data to the third argument of
chunk_split they could possibly execute arbitrary code as the apache user.
Note that it is unusual for a PHP script to use the chunk_split function
with a user-supplied third argument. (CVE-2007-4661) |
| Alerts: |
|
Comments (none posted)
php: buffer overflows
| Package(s): | php |
CVE #(s): | CVE-2006-5465
|
| Created: | November 3, 2006 |
Updated: | January 18, 2010 |
| Description: |
The Hardened-PHP Project discovered buffer overflows in
htmlentities/htmlspecialchars internal routines to the PHP Project. Of
course the whole purpose of these functions is to be filled with user
input. (The overflow can only be when UTF-8 is used) |
| Alerts: |
|
Comments (none posted)
phpbb2: missing input sanitizing
| Package(s): | phpbb2 |
CVE #(s): | CVE-2006-1896
|
| Created: | May 22, 2006 |
Updated: | February 11, 2008 |
| Description: |
It was discovered that phpbb2, a web based bulletin board, insufficiently
sanitizes values passed to the "Font Color 3" setting, which might lead to
the execution of injected code by admin users. |
| Alerts: |
|
Comments (none posted)
phpbb2: multiple vulnerabilities
| Package(s): | phpbb2 |
CVE #(s): | CVE-2005-3310
CVE-2005-3415
CVE-2005-3416
CVE-2005-3417
CVE-2005-3418
CVE-2005-3419
CVE-2005-3420
CVE-2005-3536
CVE-2005-3537
|
| Created: | December 22, 2005 |
Updated: | February 11, 2008 |
| Description: |
The phpbb2 web forum has a number of vulnerabilities including:
a web script injection problem, a protection mechanism bypass, a
security check bypass, a remote global variable bypass, cross site
scripting vulnerabilities, an SQL injection vulnerability,
a remote regular expression modification problem, missing input
sanitizing, and a missing request validation problem. |
| Alerts: |
|
Comments (none posted)
phpmyadmin: multiple vulnerabilities
| Package(s): | phpmyadmin |
CVE #(s): | CVE-2006-6942
CVE-2006-6944
CVE-2007-1325
CVE-2007-1395
CVE-2007-2245
|
| Created: | September 10, 2007 |
Updated: | March 19, 2009 |
| Description: |
Several remote vulnerabilities have been discovered in phpMyAdmin, a
program to administrate MySQL over the web. The Common Vulnerabilities
and Exposures project identifies the following problems:
CVE-2007-1325:
The PMA_ArrayWalkRecursive function in libraries/common.lib.php
does not limit recursion on arrays provided by users, which allows
context-dependent attackers to cause a denial of service (web
server crash) via an array with many dimensions.
CVE-2007-1395:
Incomplete blacklist vulnerability in index.php allows remote
attackers to conduct cross-site scripting (XSS) attacks by
injecting arbitrary JavaScript or HTML in a (1) db or (2) table
parameter value followed by an uppercase </SCRIPT> end tag,
which bypasses the protection against lowercase </script>.
CVE-2007-2245:
Multiple cross-site scripting (XSS) vulnerabilities allow remote
attackers to inject arbitrary web script or HTML via (1) the
fieldkey parameter to browse_foreigners.php or (2) certain input
to the PMA_sanitize function.
CVE-2006-6942:
Multiple cross-site scripting (XSS) vulnerabilities allow remote
attackers to inject arbitrary HTML or web script via (1) a comment
for a table name, as exploited through (a) db_operations.php,
(2) the db parameter to (b) db_create.php, (3) the newname parameter
to db_operations.php, the (4) query_history_latest,
(5) query_history_latest_db, and (6) querydisplay_tab parameters to
(c) querywindow.php, and (7) the pos parameter to (d) sql.php.
CVE-2006-6944:
phpMyAdmin allows remote attackers to bypass Allow/Deny access rules
that use IP addresses via false headers.
|
| Alerts: |
|
Comments (none posted)
phpMyAdmin: cross-site scripting vulnerabilities
| Package(s): | phpMyAdmin |
CVE #(s): | CVE-2007-5386
CVE-2007-5589
|
| Created: | November 2, 2007 |
Updated: | March 14, 2008 |
| Description: |
Cross-site scripting (XSS) vulnerability in scripts/setup.php in phpMyAdmin
2.11.1, when accessed by a browser that does not URL-encode requests,
allows remote attackers to inject arbitrary web script or HTML via the
query string.
Multiple cross-site scripting (XSS) vulnerabilities in phpMyAdmin before
2.11.1.2 allow remote attackers to inject arbitrary web script or HTML via
certain input available in (1) PHP_SELF in (a) server_status.php, and (b)
grab_globals.lib.php, (c) display_change_password.lib.php, and (d)
common.lib.php in libraries/; and certain input available in PHP_SELF and
(2) PATH_INFO in libraries/common.inc.php. NOTE: there might also be other
vectors related to (3) REQUEST_URI. |
| Alerts: |
|
Comments (none posted)
phpPgAdmin: cross-site scripting
| Package(s): | phppgadmin |
CVE #(s): | CVE-2007-2865
CVE-2007-5728
|
| Created: | June 18, 2007 |
Updated: | January 21, 2009 |
| Description: |
A cross-site scripting (XSS) vulnerability in sqledit.php in phpPgAdmin
4.1.1 allows remote attackers to inject arbitrary web script or HTML via
the server parameter. |
| Alerts: |
|
Comments (none posted)
pidgin: denial of service
| Package(s): | pidgin |
CVE #(s): | CVE-2007-4999
|
| Created: | November 2, 2007 |
Updated: | November 29, 2007 |
| Description: |
libpurple in Pidgin 2.1.0 through 2.2.1, when using HTML logging, allows
remote attackers to cause a denial of service (NULL dereference and
application crash) via a message that contains invalid HTML data, a
different vector than CVE-2007-4996. |
| Alerts: |
|
Comments (none posted)
postgresql: several vulnerabilities
| Package(s): | postgresql |
CVE #(s): | CVE-2007-3278
CVE-2007-3279
CVE-2007-3280
|
| Created: | September 25, 2007 |
Updated: | February 1, 2008 |
| Description: |
PostgreSQL 8.1 and probably later and earlier versions, when local trust
authentication is enabled and the Database Link library (dblink) is
installed, allows remote attackers to access arbitrary accounts and execute
arbitrary SQL queries via a dblink host parameter that proxies the
connection from 127.0.0.1. (CVE-2007-3278)
PostgreSQL 8.1 and probably later and earlier versions, when the PL/pgSQL
(plpgsql) language has been created, grants certain plpgsql privileges to
the PUBLIC domain, which allows remote attackers to create and execute
functions, as demonstrated by functions that perform local brute-force
password guessing attacks, which may evade intrusion
detection. (CVE-2007-3279)
The Database Link library (dblink) in PostgreSQL 8.1 implements functions
via CREATE statements that map to arbitrary libraries based on the C
programming language, which allows remote authenticated superusers to map
and execute a function from any library, as demonstrated by using the
system function in libc.so.6 to gain shell access. (CVE-2007-3280) |
| Alerts: |
|
Comments (1 posted)
pulseaudio: denial of service
| Package(s): | pulseaudio |
CVE #(s): | CVE-2007-1804
|
| Created: | May 30, 2007 |
Updated: | March 10, 2008 |
| Description: |
The pulseaudio network code suffers from a denial of service vulnerability exploitable by an unauthenticated attacker. |
| Alerts: |
|
Comments (none posted)
pwlib: denial of service
| Package(s): | pwlib |
CVE #(s): | CVE-2007-4897
|
| Created: | October 8, 2007 |
Updated: | January 9, 2008 |
| Description: |
From the Red Hat advisory: A memory management flaw was discovered in PWLib. An attacker could use this
flaw to crash an application, such as Ekiga, which is linked with pwlib
(CVE-2007-4897).
|
| Alerts: |
|
Comments (none posted)
python: information disclosure
| Package(s): | python |
CVE #(s): | CVE-2007-2052
|
| Created: | May 9, 2007 |
Updated: | July 30, 2009 |
| Description: |
Python 2.4 and 2.5 contain a bug in PyLocale_strxfrm() which could enable an attacker to read portions of unrelated memory. |
| Alerts: |
|
Comments (none posted)
python: integer overflows
| Package(s): | python |
CVE #(s): | CVE-2007-4965
|
| Created: | October 30, 2007 |
Updated: | July 30, 2009 |
| Description: |
Multiple integer overflows in the imageop module in Python 2.5.1 and
earlier allow context-dependent attackers to cause a denial of service
(application crash) and possibly obtain sensitive information (memory
contents) via crafted arguments to (1) the tovideo method, and unspecified
other vectors related to (2) imageop.c, (3) rbgimgmodule.c, and other
files, which trigger heap-based buffer overflows. |
| Alerts: |
|
Comments (none posted)
qemu: multiple vulnerabilities
Comments (none posted)
qt: arbitrary code execution
| Package(s): | qt |
CVE #(s): | CVE-2007-3388
|
| Created: | August 1, 2007 |
Updated: | December 10, 2007 |
| Description: |
Format string bugs were found in several Qt warning messages.
Applications using Qt for processing certain data types could
trigger them if the data caused Qt to print warnings. The bugs
potentially allow to execute arbitrary code via specially crafted
files (CVE-2007-3388). |
| Alerts: |
|
Comments (none posted)
qt: buffer overflow
| Package(s): | qt |
CVE #(s): | CVE-2007-4137
|
| Created: | September 14, 2007 |
Updated: | December 10, 2007 |
| Description: |
A buffer overflow was found in how Qt expanded malformed Unicode strings.
If an application linked against Qt parsed a malicious Unicode string, it
could lead to a denial of service or potentially allow for the execution of
arbitrary code. |
| Alerts: |
|
Comments (none posted)
quagga: denial of service
| Package(s): | quagga |
CVE #(s): | CVE-2007-4826
|
| Created: | September 14, 2007 |
Updated: | October 25, 2010 |
| Description: |
The bgpd daemon in Quagga prior to 0.99.9 allowed remote BGP peers to cause
a denial of service crash via a malformed OPEN message or COMMUNITY
attribute. |
| Alerts: |
|
Comments (none posted)
quake: buffer overflow
| Package(s): | quake3-bin |
CVE #(s): | CVE-2006-2236
|
| Created: | May 10, 2006 |
Updated: | January 12, 2009 |
| Description: |
Games based on the Quake 3 engine are vulnerable to a buffer overflow exploitable by a hostile game server. |
| Alerts: |
|
Comments (none posted)
redhat-cluster-suite: denial of service
| Package(s): | redhat-cluster-suite |
CVE #(s): | CVE-2007-3380
|
| Created: | July 19, 2007 |
Updated: | November 14, 2007 |
| Description: |
The redhat cluster suite's
cluster manager is vulnerable to a remote attack. Attackers
can connect to the DLM port and block subsequent DLM operations,
resulting in a denial of service. |
| Alerts: |
|
Comments (1 posted)
rsync: off-by-one errors
| Package(s): | rsync |
CVE #(s): | CVE-2007-4091
|
| Created: | August 20, 2007 |
Updated: | December 3, 2007 |
| Description: |
Multiple off-by-one errors in the sender.c in rsync 2.6.9 might allow
remote attackers to execute arbitrary code via directory names that are not
properly handled when calling the f_name function. |
| Alerts: |
|
Comments (1 posted)
ruby: insufficient SSL certificate validation
| Package(s): | ruby |
CVE #(s): | CVE-2007-5162
CVE-2007-5770
|
| Created: | October 8, 2007 |
Updated: | October 10, 2008 |
| Description: |
The connect method in lib/net/http.rb in the (1) Net::HTTP and (2) Net::HTTPS libraries in Ruby 1.8.5 and 1.8.6 does not verify that the commonName (CN) field in a server certificate matches the domain name in an HTTPS request, which makes it easier for remote attackers to intercept SSL transmissions via a man-in-the-middle attack or spoofed web site. |
| Alerts: |
|
Comments (none posted)
samba: incorrect group assignment
| Package(s): | samba |
CVE #(s): | CVE-2007-4138
|
| Created: | September 12, 2007 |
Updated: | November 15, 2007 |
| Description: |
From the Samba advisory: When the rfc2307 or sfu nss_info plugin has been enabled, in
the absence of either the RFC2307 or SFU primary group attribute,
Winbind will assign a primary group ID of 0 to the domain user
queried using the getpwnam() C library call. |
| Alerts: |
|
Comments (1 posted)
sitebar: multiple vulnerabilities
| Package(s): | sitebar |
CVE #(s): | CVE-2007-5491
CVE-2007-5694
CVE-2007-5492
CVE-2007-5693
CVE-2007-5695
CVE-2007-5692
|
| Created: | November 7, 2007 |
Updated: | December 7, 2007 |
| Description: |
Tim Brown discovered these multiple issues: the translation module does
not properly sanitize the value to the "dir" parameter (CVE-2007-5491,
CVE-2007-5694); the translation module also does not sanitize the
values of the "edit" and "value" parameters which it passes to eval()
and include() (CVE-2007-5492, CVE-2007-5693); the log-in command does
not validate the URL to redirect users to after logging in
(CVE-2007-5695); SiteBar also contains several cross-site scripting
vulnerabilities (CVE-2007-5692).
|
| Alerts: |
|
Comments (none posted)
streamripper: buffer overflow
| Package(s): | streamripper |
CVE #(s): | CVE-2007-4337
|
| Created: | September 14, 2007 |
Updated: | December 9, 2008 |
| Description: |
Chris Rohlf discovered several boundary errors in the
httplib_parse_sc_header() function when processing HTTP headers. |
| Alerts: |
|
Comments (none posted)
subversion: possible information leak
| Package(s): | subversion |
CVE #(s): | CVE-2007-2448
|
| Created: | October 30, 2007 |
Updated: | February 1, 2011 |
| Description: |
Subversion 1.4.3 and earlier does not properly implement the "partial
access" privilege for users who have access to changed paths but not copied
paths, which allows remote authenticated users to obtain sensitive
information (revision properties) via svn (1) propget, (2) proplist, or (3)
propedit. |
| Alerts: |
|
Comments (none posted)
Sun JDK/JRE: multiple vulnerabilities
| Package(s): | Sun JDK/JRE |
CVE #(s): | CVE-2007-2435
CVE-2007-2788
CVE-2007-2789
|
| Created: | June 1, 2007 |
Updated: | April 18, 2008 |
| Description: |
An unspecified vulnerability involving an "incorrect use of system
classes" was reported by the Fujitsu security team. Additionally, Chris
Evans from the Google Security Team reported an integer overflow
resulting in a buffer overflow in the ICC parser used with JPG or BMP
files, and an incorrect open() call to /dev/tty when processing certain
BMP files. |
| Alerts: |
|
Comments (none posted)
sysstat: insecure temporary files
| Package(s): | sysstat |
CVE #(s): | CVE-2007-3852
|
| Created: | August 20, 2007 |
Updated: | September 23, 2011 |
| Description: |
The init script (sysstat.in) in sysstat 5.1.2 up to 7.1.6 creates
/tmp/sysstat.run insecurely, which allows local users to execute arbitrary
code. |
| Alerts: |
|
Comments (1 posted)
t1lib: buffer overflow
| Package(s): | t1lib |
CVE #(s): | CVE-2007-4033
|
| Created: | September 20, 2007 |
Updated: | February 12, 2008 |
| Description: |
T1lib, an enhanced rasterizer for X11 Type 1 fonts, does
not properly perform bounds checking. An attacker can send
specially crafted input to applications linked against the library in
order to create a buffer overflow, resulting in a denial of service
or the execution of arbitrary code. |
| Alerts: |
|
Comments (none posted)
tar: buffer overflow
| Package(s): | tar |
CVE #(s): | CVE-2007-4476
|
| Created: | October 16, 2007 |
Updated: | March 17, 2010 |
| Description: |
Buffer overflow in the safer_name_suffix function in GNU tar has unspecified attack vectors and impact, resulting in a "crashing stack." |
| Alerts: |
|
Comments (none posted)
tar: symlink path traversal vulnerability
| Package(s): | tar |
CVE #(s): | CVE-2007-4131
|
| Created: | August 23, 2007 |
Updated: | December 28, 2007 |
| Description: |
The tar utility has a symlink path traversal vulnerability involving
extracted archives. Maliciously created tar archives can be used to
write arbitrary data to files that the tar user has write access to. |
| Alerts: |
|
Comments (none posted)
tcpdump: integer overflow
| Package(s): | tcpdump |
CVE #(s): | CVE-2007-3798
|
| Created: | July 20, 2007 |
Updated: | November 15, 2007 |
| Description: |
An integer overflow in print-bgp.c in the BGP dissector in tcpdump 3.9.6
and earlier allows remote attackers to execute arbitrary code via crafted
TLVs in a BGP packet, related to an unchecked return value. |
| Alerts: |
|
Comments (none posted)
tcpdump: denial of service
| Package(s): | tcpdump |
CVE #(s): | CVE-2007-1218
|
| Created: | March 5, 2007 |
Updated: | November 15, 2007 |
| Description: |
Off-by-one buffer overflow in the parse_elements function in the 802.11
printer code (print-802_11.c) for tcpdump 3.9.5 and earlier allows remote
attackers to cause a denial of service (crash) via a crafted 802.11
frame. NOTE: this was originally referred to as heap-based, but it might be
stack-based. |
| Alerts: |
|
Comments (none posted)
terminal: arbitrary code execution
| Package(s): | terminal |
CVE #(s): | CVE-2007-3770
|
| Created: | August 13, 2007 |
Updated: | December 19, 2007 |
| Description: |
A vulnerability was found in the Xfce terminal program:
Lasse Karkkainen discovered that the function terminal_helper_execute()
in file terminal-helper.c does not properly escape the URIs before
processing.
|
| Alerts: |
|
Comments (none posted)
tetex: buffer overflow
| Package(s): | tetex |
CVE #(s): | CVE-2007-0650
|
| Created: | May 8, 2007 |
Updated: | May 13, 2008 |
| Description: |
A buffer overflow in the open_sty function in mkind.c for makeindex 2.14 in
teTeX might allow user-assisted remote attackers to overwrite files and
possibly execute arbitrary code via a long filename. NOTE: other overflows
exist but might not be exploitable, such as a heap-based overflow in the
check_idx function. |
| Alerts: |
|
Comments (1 posted)
thunderbird: multiple vulnerabilities
| Package(s): | thunderbird |
CVE #(s): | |
| Created: | November 6, 2007 |
Updated: | November 7, 2007 |
| Description: |
update to 1.5.0.12 |
| Alerts: |
|
Comments (none posted)
tikiwiki: arbitrary code execution
| Package(s): | tikiwiki |
CVE #(s): | CVE-2007-5423
|
| Created: | October 22, 2007 |
Updated: | November 15, 2007 |
| Description: |
From the Gentoo advisory:
An attacker could execute arbitrary code with the rights of the user
running the web server by passing a specially crafted parameter string
to the tiki-graph_formula.php file. |
| Alerts: |
|
Comments (2 posted)
tk: denial of service
| Package(s): | tk8.3 tk8.4 |
CVE #(s): | CVE-2007-5137
|
| Created: | October 12, 2007 |
Updated: | March 17, 2009 |
| Description: |
It was discovered that Tk could be made to overrun a buffer when loading
certain images. If a user were tricked into opening a specially crafted GIF
image, remote attackers could cause a denial of service or execute
arbitrary code with user privileges. |
| Alerts: |
|
Comments (none posted)
tomcat: directory traversal
| Package(s): | tomcat |
CVE #(s): | CVE-2007-0450
|
| Created: | May 2, 2007 |
Updated: | February 27, 2008 |
| Description: |
Versions of tomcat prior to 5.5.22 do not properly filter filename separator characters, enabling information disclosure attacks. |
| Alerts: |
|
Comments (none posted)
tomcat: cross-site scripting
| Package(s): | tomcat |
CVE #(s): | CVE-2007-2449
CVE-2007-2450
|
| Created: | July 17, 2007 |
Updated: | February 17, 2009 |
| Description: |
Some JSPs within the 'examples' web application did not escape user
provided data. If the JSP examples were accessible, this flaw could allow a
remote attacker to perform cross-site scripting attacks (CVE-2007-2449).
Note: it is recommended the 'examples' web application not be installed on
a production system.
The Manager and Host Manager web applications did not escape user provided
data. If a user is logged in to the Manager or Host Manager web
application, an attacker could perform a cross-site scripting attack
(CVE-2007-2450). |
| Alerts: |
|
Comments (1 posted)
tomcat: multiple vulnerabilities
| Package(s): | tomcat |
CVE #(s): | CVE-2007-3382
CVE-2007-3385
CVE-2007-3386
|
| Created: | September 26, 2007 |
Updated: | September 13, 2010 |
| Description: |
Tomcat was found treating single quote characters -- ' -- as delimiters in
cookies. This could allow remote attackers to obtain sensitive information,
such as session IDs, for session hijacking attacks (CVE-2007-3382).
It was reported Tomcat did not properly handle the following character
sequence in a cookie: \" (a backslash followed by a double-quote). It was
possible remote attackers could use this failure to obtain sensitive
information, such as session IDs, for session hijacking attacks
(CVE-2007-3385).
A cross-site scripting (XSS) vulnerability existed in the Host Manager
Servlet. This allowed remote attackers to inject arbitrary HTML and web
script via crafted requests (CVE-2007-3386). |
| Alerts: |
|
Comments (none posted)
util-linux: privilege escalation
| Package(s): | util-linux |
CVE #(s): | CVE-2007-5191
|
| Created: | October 9, 2007 |
Updated: | January 7, 2008 |
| Description: |
mount and umount in util-linux call the setuid and setgid functions in the
wrong order and do not check the return values, which might allow attackers
to gain privileges via helpers such as mount.nfs. |
| Alerts: |
|
Comments (none posted)
vim: arbitrary code execution
| Package(s): | vim |
CVE #(s): | CVE-2007-2953
|
| Created: | July 30, 2007 |
Updated: | November 27, 2008 |
| Description: |
vim is vulnerable to a user-assisted attack in which vim may execute arbitrary code when helptags is run on data that has been maliciously crafted. |
| Alerts: |
|
Comments (none posted)
vixie-cron: weak permissions may cause errors
| Package(s): | vixie-cron |
CVE #(s): | CVE-2007-1856
|
| Created: | April 17, 2007 |
Updated: | December 4, 2007 |
| Description: |
During an internal audit, Raphael Marichez of the Gentoo Linux Security
Team found that Vixie Cron has weak permissions set on Gentoo, allowing
for a local user to create hard links to system and users cron files,
while a st_nlink check in database.c will generate a superfluous error. |
| Alerts: |
|
Comments (1 posted)
vlc: several vulnerabilities
| Package(s): | vlc |
CVE #(s): | CVE-2007-3316
CVE-2007-3467
CVE-2007-3468
|
| Created: | July 10, 2007 |
Updated: | March 10, 2008 |
| Description: |
Several remote vulnerabilities have been discovered in the VideoLan
multimedia player and streamer, which may lead to the execution of
arbitrary code. |
| Alerts: |
|
Comments (none posted)
wesnoth: denial of service
| Package(s): | wesnoth |
CVE #(s): | CVE-2007-3917
|
| Created: | October 12, 2007 |
Updated: | December 3, 2007 |
| Description: |
A malicious user could send a long chat message with multibyte characters,
the server would truncate the message on a fixed length, without paying
attention to the multibyte characters. This led to invalid utf-8 on the
client and an uncaught exception was thrown. |
| Alerts: |
|
Comments (none posted)
wireshark: multiple vulnerabilities
| Package(s): | wireshark |
CVE #(s): | CVE-2007-3390
CVE-2007-3392
CVE-2007-3393
|
| Created: | June 28, 2007 |
Updated: | February 27, 2008 |
| Description: |
The wireshark network traffic analyzer has three vulnerabilities
that can be used to create a denial of service. These include
off-by-one overflows in the iSeries dissector, vulnerabilities in
the MMS and SSL dissectors that can cause an infinite loop and
an off-by-one overflow in the DHCP/BOOTP dissector. |
| Alerts: |
|
Comments (none posted)
x11: xfs font server overflows
| Package(s): | x11 |
CVE #(s): | CVE-2007-4568
CVE-2007-4989
CVE-2007-4990
|
| Created: | October 4, 2007 |
Updated: | January 18, 2008 |
| Description: |
xorg-x11 has a number of integer and heap overflow vulnerabilities in
the xfs font server. A local attacker may be able to use these for
the execution of arbitrary code with elevated privileges. |
| Alerts: |
|
Comments (none posted)
xen-utils: insecure temp files
| Package(s): | xen-utils |
CVE #(s): | CVE-2007-3919
|
| Created: | October 25, 2007 |
Updated: | May 16, 2008 |
| Description: |
The xen-utils collection of XEN administrative tools uses temporary files
insecurely. Local users can use this to truncate arbitrary files. |
| Alerts: |
|
Comments (none posted)
XFree86 X.org: integer overflows
| Package(s): | xfree86 x.org |
CVE #(s): | CVE-2007-1003
CVE-2007-1667
CVE-2007-1351
CVE-2007-1352
|
| Created: | April 3, 2007 |
Updated: | August 11, 2009 |
| Description: |
iDefense reported an integer overflow flaw in the XFree86 XC-MISC
extension. A malicious authorized client could exploit this issue to cause
a denial of service (crash) or potentially execute arbitrary code with root
privileges on the XFree86 server. (CVE-2007-1003)
iDefense reported two integer overflows in the way X.org handled various
font files. A malicious local user could exploit these issues to
potentially execute arbitrary code with the privileges of the X.org server.
(CVE-2007-1351, CVE-2007-1352)
An integer overflow flaw was found in the XFree86 XGetPixel() function.
Improper use of this function could cause an application calling it to
function improperly, possibly leading to a crash or arbitrary code
execution. (CVE-2007-1667) |
| Alerts: |
|
Comments (none posted)
xine-lib: arbitrary code execution
| Package(s): | xine-lib |
CVE #(s): | CVE-2007-1387
|
| Created: | March 13, 2007 |
Updated: | April 1, 2008 |
| Description: |
Moritz Jodeit discovered that the DirectShow loader of Xine did not
correctly validate the size of an allocated buffer. By tricking a user
into opening a specially crafted media file, an attacker could execute
arbitrary code with the user's privileges. |
| Alerts: |
|
Comments (none posted)
xine-lib: buffer overflow
| Package(s): | xine-lib |
CVE #(s): | CVE-2006-1664
|
| Created: | April 27, 2006 |
Updated: | February 27, 2008 |
| Description: |
xine-lib does an improper input data boundary check on
MPEG streams. A specially crafted MPEG file can be
created that can cause arbitrary code execution when the
file is accessed. |
| Alerts: |
|
Comments (none posted)
xmms: BMP handling vulnerability
| Package(s): | xmms |
CVE #(s): | CVE-2007-0653
CVE-2007-0654
|
| Created: | March 28, 2007 |
Updated: | July 26, 2011 |
| Description: |
xmms suffers from vulnerabilities in its handling of BMP images. Should a hostile image be included in an xmms skin, it could lead to code execution on the user's system. |
| Alerts: |
|
Comments (none posted)
X.org: temp file vulnerability
| Package(s): | X.org |
CVE #(s): | CVE-2007-3103
|
| Created: | July 12, 2007 |
Updated: | July 2, 2009 |
| Description: |
The X.Org X11 xfs font server has a temp file vulnerability in the
startup script. A local user can modify the permissions of the script
in order to elevate their local privileges. |
| Alerts: |
|
Comments (none posted)
xorg-server: local privilege escalation
| Package(s): | xorg-server |
CVE #(s): | CVE-2007-4730
|
| Created: | September 10, 2007 |
Updated: | January 24, 2008 |
| Description: |
Aaron Plattner discovered a buffer overflow in the Composite extension
of the X.org X server, which can lead to local privilege escalation. |
| Alerts: |
|
Comments (none posted)
xterm: local user unauthorized access
| Package(s): | xterm |
CVE #(s): | CVE-2007-2797
|
| Created: | August 27, 2007 |
Updated: | November 15, 2007 |
| Description: |
Previous versions of the xterm package assigned incorrect ownership and
write permissions to pseudo-terminal devices, permitting local users to
direct output to other users' xterm sessions. |
| Alerts: |
|
Comments (1 posted)
xulrunner, firefox, thunderbird: multiple vulnerabilities
| Package(s): | xulrunner, firefox, thunderbird |
CVE #(s): | CVE-2007-1095
CVE-2007-2292
CVE-2007-3511
CVE-2007-5334
CVE-2007-5337
CVE-2007-5338
CVE-2007-5339
CVE-2007-5340
CVE-2006-2894
|
| Created: | October 22, 2007 |
Updated: | May 12, 2008 |
| Description: |
From the Debian advisory:
CVE-2007-1095:
Michal Zalewski discovered that the unload event handler had access to
the address of the next page to be loaded, which could allow information
disclosure or spoofing.
CVE-2007-2292:
Stefano Di Paola discovered that insufficient validation of user names
used in Digest authentication on a web site allows HTTP response splitting
attacks.
CVE-2007-3511:
It was discovered that insecure focus handling of the file upload
control can lead to information disclosure. This is a variant of
CVE-2006-2894.
CVE-2007-5334:
Eli Friedman discovered that web pages written in Xul markup can hide the
titlebar of windows, which can lead to spoofing attacks.
CVE-2007-5337:
Georgi Guninski discovered the insecure handling of smb:// and sftp:// URI
schemes may lead to information disclosure. This vulnerability is only
exploitable if Gnome-VFS support is present on the system.
CVE-2007-5338:
"moz_bug_r_a4" discovered that the protection scheme offered by XPCNativeWrappers
could be bypassed, which might allow privilege escalation.
CVE-2007-5339:
L. David Baron, Boris Zbarsky, Georgi Guninski, Paul Nickerson, Olli Pettay,
Jesse Ruderman, Vladimir Sukhoy, Daniel Veditz, and Martijn Wargers discovered
crashes in the layout engine, which might allow the execution of arbitrary code.
CVE-2007-5340:
Igor Bukanov, Eli Friedman, and Jesse Ruderman discovered crashes in the
Javascript engine, which might allow the execution of arbitrary code.
|
| Alerts: |
|
Comments (1 posted)
Page editor: Jake Edge
Kernel development
Brief items
The current 2.6 prepatch remains 2.6.24-rc2. Quite a few patches
have found their way into the mainline git repository since -rc2 was
released; they are mostly fixes but there's also some ongoing CIFS ACL
support work and the removal of a number of obsolete documents. Expect the
-rc3 release sometime in the very near future.
The current -mm tree is 2.6.24-rc2-mm1 - the first -mm
release since 2.6.23-mm1 came out on October 11. Recent changes to
-mm include a number of device mapper updates, a big driver tree update
(which has broken a number of things), a lot of IDE updates, bidirectional
SCSI support, a large set of SLUB fixes and other "mammary manglement"
patches, 64-bit capability support, a number of ext4 enhancements, and the
PCI hotplug development tree.
Comments (2 posted)
In the introduction to
2.6.24-rc2-mm1 (the
first -mm tree in some time), Andrew Morton noted that some people want
something even more bleeding-edge. So he has created the
-mm of the minute tree,
which is updated a few times every day. "
I will attempt to ensure
that the patches in there actually apply, but they sure as heck won't all
compile and run." The tree is exported as a patch series, so Quilt
is needed to turn it into something which can be compiled. Have fun.
Comments (12 posted)
Kernel development news
I claim that we'd have a much higher quality kernel if we had a
single central mailing list instead of these elitist fractured
lists. Every kernel topic would have global visibility, and it
would be trivially easy to get the interest of other people, across
subsystems.
--
Ingo Molnar
If it's not reported on linux-scsi, there's a significant chance of
us missing the bug report. The fact that some people notice bugs
go past on LKML and forward them to linux-scsi is a happy accident
and not necessarily something to rely on.
LKML has 10-20x the traffic of linux-scsi and a much smaller signal
to noise ratio. Having a specialist list where all the experts in
the field hang out actually enhances our ability to fix bugs.
--
James Bottomley
Comments (16 posted)
By Jonathan Corbet
November 14, 2007
Discussions of kernel quality are not a new phenomenon on linux-kernel. It
is, indeed, a topic which comes up with a certain regularity, more so than
with many other free software projects. The size of the kernel, the rate
at which its code changes, and the wide range of environments in which the
kernel runs all lead to unique challenges; add in the fact that kernel bugs
can lead to catastrophic system failures and you have the material for no
end of debate.
The latest round began when Natalie Protasevich, a Google developer who
spends some time helping Andrew Morton track bugs, posted this list of a few dozen open bugs which
seemed worthy of further attention. Andrew responded with his view of what was happening
with those bug reports; that view was "no response from developers" in most
cases:
So I count around seven reports which people are doing something
with and twenty seven which have been just ignored.
A number of developers came back saying, in essence, that Andrew was
employing an overly heavy hand and that his assertions were not always
correct. Regardless of whether his claims are correct, Andrew has
clearly touched a nerve.
He defended his posting by raising his
often-expressed fear that the quality of the kernel is in decline. This
is, he says, something which requires attention now:
If the kernel _is_ slowly deteriorating then this won't become
readily apparent until it has been happening for a number of years.
By that stage there will be so much work to do to get us back to an
acceptable level that it will take a huge effort. And it will take
a long time after that for the kernel to get its reputation back.
But is the kernel deteriorating? That is a very hard question to answer
for a number of reasons. There is no objective standard by which the
quality of the kernel can be judged. Certain kinds of problems can be
found by automated testing, but, in the kernel space, many bugs can
only be found by running the kernel with specific workloads on specific combinations
of hardware. A rising number of bug reports does not necessarily indicate
decreasing quality when both the number of users and the size of the code
base are increasing.
Along the same lines, as Ingo Molnar pointed
out, a decreasing number of bug reports does not necessarily mean that
quality is improving. It could, instead, indicate that testers are simply
getting frustrated and dropping out of the development process - a
worsening kernel could actually cause the reporting of fewer bugs. So Ingo
says we need to treat our testers better, but we also need to work harder
at actually measuring the quality of the kernel:
I tried to make the point that the only good approach is to remove
our current subjective bias from quality metrics and to at least
realize what a cavalier attitude we still have to QA. The moment we
are able to _measure_ how bad we are, kernel developers will adopt
in a second and will improve those metrics. Lets use more debug
tools, both static and dynamic ones. Lets measure tester base and
we need to measure _lost_ early adopters and the reasons why they
are lost.
It is generally true that problems which can be measured and quantified
tend to be addressed more quickly and effectively. The classic example is
PowerTop, which makes power management problems obvious. Once developers
could see where the trouble was and, more to the point, could see just how
much their fixes improved the situation, vast numbers of problems went away
over a short period of time. At the moment, the kernel developers can
adopt any of a number of approaches to improving kernel quality, but they
[PULL QUOTE:
In the absence of objective measurements, developers
trying to improve kernel quality are really just groping in the dark.
END QUOTE]
will not have any way of really knowing if that effort is helping the
situation or not. In the absence of objective measurements, developers
trying to improve kernel quality are really just groping in the dark.
As an example, consider the discussion of the "git bisect" feature.
If one is trying to find a regression which happened between 2.6.23 and
2.6.24-rc1, one must conceivably look at several thousand patches to find
the one which caused the problem - a task which most people tend to find
just a little intimidating. Bisection helps the tester perform a binary
search over a range of patches, eliminating half of them in each
compile-and-boot cycle. Using bisect, a regression can be tracked down in
a relatively automatic way with "only" a dozen or so kernel builds and
reboots. At the end of the process, the guilty patch will have been
identified in an unambiguous way.
Bisection works so well that developers will often ask a tester to use it
to track down a problem they are reporting. Some people see this practice
as a way for lazy kernel developers to dump the work of tracking down their
bugs on the users who are bitten by those bugs. Building and testing a
dozen kernels is, they say, too much to ask of a tester. Mark Lord, for
example, asserts that most bugs are relatively
easy to find when a developer actually looks at the code; the whole
bisect process is often unnecessary:
I'm just asking that developers here do more like our Top Penguin
does, and actually look at problems and try to understand them and
suggest fixes to try. And not rely solely on the git-bisect
crutch. It's a good crutch, provided the reporter is a kernel
developer, or has a lot of time on their hands. But we debugged
Linux here for a long time without it.
On the other hand, some developers see bisection as a powerful tool which
has made it easier for testers to actively help the process. David Miller
says:
Like the internet, this time spent is beneficial because it's
pushing the work out to the end nodes. In fact git bisect is an
awesome example of the end node principle in action for software
development and QA.
For the end-user wanting their bug fixed and the developer it's a
win win situation because the reporter is actually able to do
something proactive which will help get the bug they want fixed
faster.
Returning to original bug list: another issue which came up was the use of
mailing lists other than linux-kernel. Some of the bugs had not been
addressed because they had never been reported to the mailing list
dedicated to the affected subsystem. Other bugs, marked by Andrew as
having had no response, had, in fact, been discussed (and sometimes fixed)
on subsystem-specific lists. In both situations, the problem is a lack of
communication between subsystem lists and the larger community.
In response, some developers have, once again, called for a reduction in
the use of subsystem-specific lists. We are, they say, all working on a
single kernel, and we are all interested in what happens with that kernel.
Discussing kernel subsystems in isolation is likely to result in a
lower-quality kernel.
Ingo Molnar expresses it this way:
We lose much more by forced isolation of discussion than what we
win by having less traffic! It's _MUCH_ easier to narrow down
information (by filter by threads, by topics, by people, etc.) than
it is to gobble information together from various fractured
sources. We learned it _again and again_ that isolation of kernel
discussions causes bad things.
Moving discussions back onto linux-kernel seems like a very hard sell,
though. Most subsystem-specific lists feature much lower traffic, a
friendlier atmosphere, and more focused conversation. Many subscribers of
such lists are unlikely to feel that moving back to linux-kernel would
improve their lives. So, perhaps, the best that can be hoped for is that
more developers would subscribe to both lists and make a point of ensuring
that relevant information flows in both directions.
David Miller pointed out another reason why
some bug reports don't see a lot of responses: developers have to choose
which bugs to try to address. Problems which affect a lot of users, and
which can be readily reproduced, have a much higher chance of getting
quick developer attention. Bug reports which end up at the bottom of the
prioritized list ("chaff"), instead, tend to languish. The system, says
David, tends to work reasonably well:
Luckily if the report being ignored isn't chaff, it will show up
again (and again and again) and this triggers a reprioritization
because not only is the bug no longer chaff, it also now got a lot
of information tagged to it so it's a double worthwhile investment
to work on the problem.
Given that there are unlikely to ever be enough developers to respond to
every single kernel bug report, the real problem comes down to
prioritization. Andrew Morton has a clear
idea of which reports should be handled first: regressions from
previous releases.
If we're really active in chasing down the regressions then I think
we can be confident that the kernel isn't deteriorating. Probably
it will be improving as we also fix some always-been-there bugs.
Attention to regressions has improved significantly over the last couple of
years or so. They tend to be much more actively tracked, and the list of
known regressions is consulted before kernel releases are made. The real
problem, according to Andrew, is that any regressions which are still there
after a release tend to fall off the list. Better attention to those
problems would help to ensure that the quality of the kernel improved over
time.
Comments (10 posted)
By Jonathan Corbet
November 12, 2007
One of the great advantages of multiprocessor computers is the fact that
main memory is available to all processors on the system. This ability to
share data gives programmers a great deal of flexibility. One of the first
things those programmers learn (or should learn), however, is that actually
sharing data between processors is to be avoided whenever possible. The
sharing of data - especially data which changes - causes all kinds of bad
cache behavior and greatly reduced performance. The recently-concluded
What every programmer should know
about memory series covers these problems in great detail.
Over the years, kernel developers have made increasing use of per-CPU data
in an effort to minimize memory contention and its associated performance
penalties. As a simple example, consider the disk operation statistics
maintained by the block layer. Incrementing a global counter for every
disk operation would cause the associated cache line to bounce continually
between processors; disk operations are frequent enough that the
performance cost would be measurable. So each CPU maintains its own set of
counters locally; it never has to contend with any other CPU to increment
one of those counters. When a total count is needed, all of the per-CPU
counters are added up. Given that the counters are queried far more rarely
than they are modified, storing them in per-CPU form yields a significant
performance improvement.
In current kernels, most of these per-CPU variables are managed with an
array of pointers. So, for example, the kmem_cache structure (as
implemented by the SLUB allocator) contains this field:
struct kmem_cache_cpu *cpu_slab[NR_CPUS];
Note that the array is dimensioned to hold one pointer for every possible
CPU in the system. Most deployed computers have fewer than the maximum
number of processors, though, so there is, in general, no point in
allocating NR_CPUS objects for that array. Instead, only the
entries in the array which correspond to existing processors are populated;
for each of those processors, the requisite object is allocated using
kmalloc() and stored into the array. The end result is an array
that looks something like the diagram on the right. In this case, per-CPU
objects have been allocated for four processors, with the remaining entries
in the array being unallocated.
A quick look at the diagram immediately shows one potential problem with
this scheme: each of these per-CPU arrays is likely to have some wasted
space at the end. NR_CPUS is a configuration-time constant; most
general-purpose kernels (e.g. those shipped by distributors) tend to have
NR_CPUS set high enough to work on most or all systems which might
reasonably be encountered. In short, NR_CPUS is likely to be quite a bit
larger than the number of processors actually present, with the result that
there will be a significant amount of wasted space at the end of each
per-CPU array.
In fact, Christoph Lameter noticed that are more problems than that; in
response, he has posted a patch
series for a new per-CPU allocator. The deficiencies addressed by
Christoph's patch (beyond the wasted
space in each per-CPU array) include:
- If one of these per-CPU arrays is embedded within a larger data
structure, it may separate the other variables in that structure,
causing them to occupy more cache lines than they otherwise would.
- Each CPU uses exactly one pointer from that array (most of the time);
that pointer will reside in the processor's data cache while it is
being used. Cache lines hold quite a bit more than one pointer,
though; in this case, the rest of the cache line is almost certain to
hold the pointers for the other CPUs. Thus, scarce cache space is
being wasted on completely useless data.
- Accessing the object requires two pointer lookups - one to get the
object pointer from the array, and one to get to the object itself.
Christoph's solution is quite simple in concept: turn all of those little
per-CPU arrays into one big per-CPU array. With this scheme, each
processor is allocated a dedicated range of memory at system initialization
time. These ranges are all contiguous in the kernel's virtual address
space, so, given a pointer to the per-CPU area for CPU 0, the area for
any other processor is just a pointer addition away.
When a per-CPU object is allocated, each CPU gets a copy obtained from its
own per-CPU area. Crucially, the offset into each CPU's area is the same,
so the address of any CPU's object is trivially calculated from the address
of the first object. So the array of pointers can go away, replaced by a
single pointer to the object in the area reserved for CPU 0. The
resulting organization looks (with the application of sufficient
imagination) something like the diagram to the right. For a given object,
there is only a single pointer; all of the other versions of that object
are found by applying a
constant offset to that pointer.
The interface for the new allocator is relatively straightforward. A new
per-CPU variable is created with:
#include <linux/cpu_alloc.h>
void *per_cpu_var = CPU_ALLOC(type, gfp_flags);
This call will allocate a set of per-CPU variables of the given
type, using the usual gfp_flags to control how the
allocation is performed. A pointer to a specific CPU's version of the
variable can be had with:
void *CPU_PTR(per_cpu_var, unsigned int cpu);
void *THIS_CPU(per_cpu_var);
The THIS_CPU() form, as might be expected, returns a pointer to
the version of the variable allocated for the current CPU. There is a
CPU_FREE() macro for returning a per-CPU object to the system.
Christoph's patch converts all users of the existing per-CPU interface and
ends by removing that API altogether.
There are a number of advantages to this approach. There's one less
pointer operation for each access to a per-CPU variable. The same pointer
is used on all processors, resulting in smaller data structures and better
cache line utilization. Per-CPU variables for a given processor are
grouped together in memory, which, again, should lead to better cache use.
All of the memory wasted in the old pointer arrays has been reclaimed.
Christoph also claims that this mechanism, by making it easier to keep
track of per-CPU memory, makes the support of CPU hotplugging easier.
The amount of discussion inspired by this patch set has been relatively
low. There were complaints about the UPPER CASE NAMES used by the macros.
The biggest complaint, though, has to do with the way the static
per-CPU areas bloat the kernel's data space. On some architectures it
makes the kernel too large to boot, and it's a real cost on all
architectures. Just how this issue will be resolved is not yet clear.
If a solution can be found, the new per-CPU code has a good chance of
getting into the mainline when the 2.6.25 merge window opens.
Comments (4 posted)
By Jake Edge
November 14, 2007
Ceph is a distributed filesystem that is described as scaling from gigabytes to
petabytes of data with excellent performance and reliability. The project
is LGPL-licensed, with plans to move from a
FUSE-based client into the kernel. This led Sage Weil to post a message to linux-kernel
describing the project and looking for filesystem developers who might be
willing to help. There are quite a few interesting features in Ceph which
might make it a nice addition to Linux.
Weil outlines why he thinks Ceph might be of interest to kernel hackers:
I
periodically see frustration on this list with the lack of a scalable GPL
distributed file system with sufficiently robust replication and failure
recovery to run on commodity hardware, and would like to think that--with
a little love--Ceph could fill that gap.
The filesystem is well
described in a paper
from the 2006 USENIX Operating Systems Design and Implementation conference.
The project's homepage has the
expected mailing list, wiki, and source code repository along with a detailed
overview of the feature set.
Ceph is designed to be extremely scalable, from both the storage and
retrieval perspectives. One of its main innovations is splitting up
operations on metadata from those on file data. With Ceph, there are two
kinds of storage nodes, metadata servers (MDSs) and object storage devices
(OSDs), with clients contacting the type appropriate for the kind of
operation they are performing. The MDSs cache the metadata for files and
directories, journaling any changes, and periodically writing the metadata
as a data object
to the OSDs.
Data objects are distributed throughout the available OSDs using a
hash-like function that allows all entities (clients, MDSs, and OSDs) to
independently
calculate the locations of an object. Coupled with an infrequently
changing OSD cluster map, all the participants can figure out where the
data is stored or where to store it.
Both the OSDs and MDSs rebalance themselves to accommodate changing
conditions and usage patterns. The MDS cluster distributes the cached
metadata throughout, possibly replicating metadata of frequently used
subtrees of the filesystem in multiple nodes of the cluster. This is done
to keep the workload evenly balanced throughout the MDS cluster. For
similar reasons, the OSDs automatically migrate data objects onto storage devices that
have been newly added to the OSD cluster; thus distributing the workload
by not allowing new devices to sit idle.
Ceph does N-way replication of its data, spread throughout the cluster.
When an OSD fails, the data is automatically re-replicated throughout the
remaining OSDs. Recovery of the replicas can be parallelized because both
the source and destination are spread over multiple disks. Unlike some other
cluster filesystems, Ceph starts from the assumption that disk failure will
be a regular occurrence. It does not require OSDs to have RAID or other
reliable disk systems, which allows the use of commodity hardware for the
OSD nodes.
In his linux-kernel posting, Weil describes the
current status of Ceph:
I would describe the code base
(weighing in at around 40,000 semicolon-lines) as early alpha quality:
there is a healthy amount of debugging work to be done, but the basic
features of the system are complete and can be tested and
benchmarked.
In addition to creating an in-kernel filesystem for
the clients (OSDs and MDSs run as userspace processes), there are several
other features – notably snapshots and security – listed as needing work.
Originally the topic of Weil's PhD. thesis,
Ceph is also something that he
hopes to eventually use at a web hosting company he helped start before
graduate school:
We spend a lot of money on storage, and the proprietary products out there
are both expensive and largely unsatisfying. I think that any
organization with a significant investment in storage in the data center
should be interested [in Ceph]. There are few viable open source options once you
scale beyond a few terabytes, unless you want to spend all your time
moving data around between servers as volume sizes grow/contract over
time.
Unlike other projects, especially those springing from academic
backgrounds, Ceph has some financial backing that could help it get to a
polished state more quickly. Weil is looking to hire kernel and filesystem
hackers to get Ceph to a point where it can be used reliably in production
systems. Currently, he is sponsoring the work through his web hosting
company, though an independent foundation or other organization to foster
Ceph is a possibility down the road.
Other filesystems with similar feature sets are available for Linux, but
Ceph takes a fundamentally different approach to most of them. For those
interested in filesystem hacking or just looking for a reliable solution
scalable to multiple petabytes, Ceph is worth a look.
Comments (9 posted)
Patches and updates
Kernel trees
Development tools
Device drivers
Documentation
Filesystems and block I/O
Kernel building
Memory management
Networking
Architecture-specific
Security-related
Virtualization and containers
Miscellaneous
Page editor: Jonathan Corbet
Distributions
News and Editorials
November 14, 2007
This article was contributed by Donnie Berkholz
The Grumpy Editor didn't have enough experience with Gentoo Linux to cover
it in his review of development
distributions, so the time is nigh. A few commenters on the review also
said they'd hoped it was about the best distributions to develop with, so
I'll show you here what makes developing with Gentoo Linux a pleasure.
Many of you know Gentoo is a moving target. You may not know, however, that
despite that, it's divided into two main chunks: stable and testing. All
packages go through a phase in testing (a.k.a. ~arch, with the tilde
designating testing status) before they go stable. Stable resembles the
testing level of Debian, and Gentoo's ~arch resembles Debian Sid. Developers
often want to use the latest and greatest development tools and libraries to
develop against, and running Gentoo ~arch (like any good development
distribution) allows you to keep all these tools and libraries under package
management. First, we'll cover the same points as our Grumpy Editor's
review, then we'll move into using Gentoo for development.
Stability
Although complaints about Gentoo's stability and breakages are fairly
common, many of those complaints involve compile-time rather than run-time
failures. Perhaps the largest complaint about run-time issues with Gentoo
involves shared-library version bumps. Since you, rather than an upstream
provider, are doing all the building,
you need to run a program called revdep-rebuild to track down and rebuild
packages that broke from a shared-library version change. While you're
waiting for the rebuilds, packages using the bumped library may or may not
break, depending on its maintainer's choice. Fortunately this
will change in Portage 2.2, planned for release by the end of the year,
with the addition of a global setting to always save the old libraries.
Tracking ~arch is possible with the --changelog and --pretend options to
emerge. The --changelog option, when used in combination with a --pretend merge
(which simply shows which packages would be installed or updated),
displays the ChangeLog entries made since
adding the new package . Other than
that, the new Gentoo packages site
has an Atom feed with all version bumps. There is no mailing list, however,
dedicated to ~arch users. Instead, one would hope people encountering bugs
would report them, and others could search Gentoo's Bugzilla for bugs filed in the
past few days. Advance warnings are fairly scarce, but that may change as
Portage 2.2 releases late this year with support for distributing news
announcements. Last-minute warnings now show up as messages printed just
before or after installing the update (and saved for later reading), but
sometimes this is too late. Here's a look at --changelog output:
Package management and updates
LWN covered in July the basics of Gentoo's package management. The
basic thrust is that Gentoo has three competing low-level package managers:
portage (the official one), paludis and pkgcore. Since much of package
management in Gentoo is done on the command line, the CLIs are very colorful
and featureful: emerge --help --verbose produces 334 lines of options and
descriptions. Here's an example of colorful, verbose emerge output:
Development of GUI package-management tools has increased lately, with portato and himerge giving strong showings as
fairly full-featured GUIs. Other GUIs exist for more specific purposes, for
example configuration-file updating and USE flag (compilation feature)
editing. One of the biggest problems with Gentoo is choosing which of the
many tools you like best. For example, there are at least 5 different
packages that allow you to do a package search.
Configuration-file updating is superb in Gentoo compared to many other
distributions. This may be in part because Gentoo assumes some level of
familiarity with the command line and with config-file editing. Again, there
are a few tools: etc-update and dispatch-conf on the CLI side and etcproposals
on the GUI side, among others. After each installation, Gentoo tells you how
many configuration files you have to update, and the various tools help you
merge the old and new configurations. Some of them even have true version
control.
Package selection
Gentoo has 12,037 packages in its main repository as of this writing, which
puts it among the largest package collections. A quick check of my Fedora
CVS checkout revealed roughly 5,200 packages, to put this in
perspective. Since the state of ~arch has no relationship to Gentoo's
releases, there are no freezes and packages are never artificially forced to
become out of date. There are also many more packages available via
overlays, additional package repositories that are easy to find using layman, which provides a
centralized list of pointers to repositories and manages them for you, and
easy to search (even without downloading them) with eix, which can download a pregenerated
cache of information from all repositories. Here's an example of the
additional repositories on my system:
Since Gentoo is a pragmatic distribution, it doesn't force any particular
ideology upon users so it's easy to use patent-encumbered formats. Whether
this is a good or bad thing philosophically remains open to question, but
Gentoo is a tool; it tries to get out of your way to let you do what you
want. For those more interested in freedom, Portage 2.2 will add license
restrictions—you can refuse to install any packages with nonfree
licenses. Other Gentoo package managers already allow this.
Why develop with Gentoo?
Gentoo provides a powerful set of tools for a development machine. Since
it's a source-based distribution, it comes by default with the full
toolchain and related tools (autotools, flex, bison, etc). Furthermore, the
packages are not split up, so if you have a package installed, you have all
of that package: no searching around for -devel, -headers, -debuginfo, or
whatever else.
Two extremely powerful tools to speed up development are ccache and distcc, both of which Gentoo has quite
well-integrated
and documented. CCache is the compiler cache, which can significantly
speed up compile times by caching the object files. DistCC is the
distributed C/C++ compiler, which distributes parallel compilations among
multiple hosts and is really handy for anything that can build in parallel
and takes a while, such as a kernel.
To set up a decent development system, you often want to install debugging
versions of a lot of libraries and maybe even install the source code
too. Gentoo provides for that with a couple of FEATURES settings: splitdebug
and installsources. The splitdebug feature installs separate debuginfo files
that are automatically found by gdb, and installsources will do what it
sounds like. Combined with an addition of -g or similar to to your CFLAGS
setting in /etc/make.conf, that will get you off and running.
On a lower level, you might want to make sure your code compiles on a wide
variety of compilers before shipping or releasing it. Gentoo's gcc-config
lets you dynamically switch between multiple installed compilers, and you
can even use non-GCC compilers for Gentoo packages by simply setting CC in
/etc/make.conf or the environment. Here's all of the GCCs installed on my
system, including cross-compiling toolchains:
Gentoo supports cross-compiling quite nicely with a tool called crossdev
that integrates with Portage to make building cross-compiling toolchains
completely trivial. All you have to do is pass crossdev the target and it
takes care of the rest. You may want to cross-compile with distcc, too, and
Gentoo also supports
that. There's a draft version of the Gentoo Embedded
Handbook that goes into detail on creating and using cross-compilers,
but remember that it is just a draft.
Another feature that makes Gentoo excellent for development is its ability
to install packages into a chroot with the variable ROOT. This makes it easy
to test things independent of your development system without getting into
virtualization. It also helps a lot for embedded development (when coupled
with crossdev) and netbooting (when exporting the client / over NFS).
The last, most advanced and possibly most useful aspect of Gentoo for
development is the ease of packaging your code. Writing ebuilds is just
writing bash shell scripts. If you can build it by hand, you can make an
ebuild for it. Here's an example of a simple ebuild, to wrap things up:
Comments (4 posted)
New Releases
The Fedora 8 distribution "Werewolf" has been announced, in a rather
poetic manner.
"
It's close to midnight and something cool is coming through the "tubes"
It's looking real tight, a distro for the experts and the n00bs
With Live CDs* so you can try it out before installing
Or DVDs so you can have the packages you choose
No way to lose
'Cause it's Fedora, Fedora 8
We'd love to have you join us and together we'll be great
Using Fedora, Fedora 8
Just click the link and rescue your computer's future today".
Full Story (comments: 1)
Looking for a Monday morning productivity enhancer? The Games spin for Fedora 8 may be exactly what you are looking for. It contains more than a hundred different free software games in an installable Live DVD format. More information and a link to download it are available on the
Fedora project wiki.
Comments (none posted)
Distribution News
Fedora
Fedora 9 development is underway and the rawhide branch is filled with
package builds that target Fedora 9. "
This will be a bumpy ride at
first as we start to see where all these builds gets us. In the next
couple of weeks we the project will work on setting a schedule for Fedora
9, start reviewing proposed Features, and come up with an overall idea of
what we'd like to accomplish this time around."
Full Story (comments: none)
ATrpms has officially launched Fedora 8 support for i386, x86_64 and PPC.
Support for Fedora Core 6 will be dropped on December 7, 2007.
Full Story (comments: none)
The Livna repository has Fedora 8 packages available for i386, x86_64 and
PPC architectures. "
Using the Livna repository gives your Werewolf
the ability to play all kinds of audio such as MP3 files and plays
DVDs. Additionally Livna offers the ATI and Nvidia closed-source drivers in
a Fedora-compatible rpm package for the Fedora users whose videocards are
not yet fully supported with the stock open source drivers."
Full Story (comments: none)
The Fedora Unity Project has CD ISOs based on the Fedora 8 DVD ISOs. The
ISO images are available for i386 and x86_64 architectures via jigdo.
Full Story (comments: none)
The
Unofficial Fedora FAQ has been
updated for Fedora 8. "
Keep checking in for the next few days,
too--new FAQs may be added, current FAQs may be changed! The FAQ always
says in the top right corner when it was last updated, and there's a little
"updated" notice next to questions (with a date that shows when I change
them) whenever I update them."
Full Story (comments: none)
The FedoraNEWS.ORG domain has retired. "
As of this morning, index
page has been redirected to Fedora Project Wiki. Old contents are still
available but no new content will be posted."
Full Story (comments: none)
SUSE Linux and openSUSE
Novell has created
the openSUSE board to provide overall leadership for the project. Initial members are Pascal Bleser, Francis Giannaros, Andreas Jaeger, Stephan Kulow, and Federico Mena-Quintero. "
The initial board has been appointed by Novell -- in the future, the board members will be elected by the community and the chair person appointed by Novell."
Comments (none posted)
The openSUSE project now has
Guiding Principles.
"
The Guiding Principles are a framework for the project and give
everyone a clear view of who we are, what we stand for, what the project
wants and how it works. The Guiding Principles document was created by the
openSUSE community and is embraced by Novell - the founder and largest
sponsor of the openSUSE project."
Full Story (comments: none)
New Distributions
paldo stands for "pure adaptable linux
distribution". It is a Upkg driven GNU/Linux distribution and it's a mix
of a source and a binary distribution. Even though it builds packages like
a source distribution it provides binary packages. The current version of
paldo is 1.12, released November 5, 2007. Linux Titans has an
interview with Jürg
Billeter, creator of paldo.
Comments (none posted)
Distribution Newsletters
The Fedora Weekly News for the week of November 5, 2007 is out. "
In
Announcements, we have 'Announcing the release of Fedora 8 (Werewolf)',
'Fedora Unity releases Fedora 8 CD Sets', 'rpm.livna.org repositories for
Fedora 8 (Werewolf) now available', 'ATrpms for Fedora 8; EOL for Fedora
Core 6' and 'Unofficial Fedora FAQ Updated for Fedora 8!' In Planet
Fedora, we have 'Lesser-Known Fedora Contributors', 'Part 1-6, Report: LTSP
Hackfest 2007', 'motd-File for your machine', 'Fedora Electronic Lab 8 -
Stable release', 'Fedora Unity Spin Report', 'Fedora 8 Games Spin -
Feedback Requested', 'Fedora Media Labels Howto', and 'I am a Broken
Record'"
Full Story (comments: none)
The Ubuntu Weekly Newsletter for November 10, 2007 covers the UbuntuWire
Community Network, a Christmas marketing campaign, the Michigan Packaging
Jam, and much more.
Full Story (comments: none)
The
DistroWatch
Weekly for November 12, 2007 is out. "
The Fedora project has
once again risen the bar of desktop usability, especially in the area of
hardware support, but what do the users think? Find out in our exclusive
review of Fedora 8 by Simon Hildenbrand. In the news section, openSUSE
announces the creation of openSUSE Board, Mandriva continues to fight the
Nigerian Classmate PC deal, Fedora unveils the feature list for version 9,
and LinuxTitans.com interviews creator of paldo GNU/Linux Jürg
Billeter. Also in this issue, two sets of statistical analyses in the
never-ending quest to find out which is the most popular
distribution."
Comments (none posted)
Distribution meetings
Mandriva is organizing a worldwide Installfest on November 17, 2007.
"
Installations of Mandriva Linux One will take place all around the
world, thanks to the Linux community. Major participating locations
will include the Ecuador, China, Poland, Russia and France. Last year,
Mandriva install fests gathered more than 2000 participants in more
than 80 cities in 20 countries. This major event was covered on TV,
radio and in the press."
Full Story (comments: none)
Newsletters and articles of interest
HowtoForge sets up a
gOS 1.0.1
desktop and a
Ubuntu
Gutsy Samba server.
Comments (none posted)
Distribution reviews
DesktopLinux
takes
a look at
gOS. "
The
operating system is based, like so many desktop Linuxes such as Mint, on
Ubuntu. In gOS' case, it's built on top of the newly released Ubuntu 7.10
Linux. It includes the usual array of open-source software that users have
learned to expect from a Linux desktop such as popular applications from
Firefox, Skype and OpenOffice.org. The one difference that Linux users will
notice immediately about it is that it uses the Enlightenment E17 desktop
interface with a Google-centric theme instead of the far more common KDE or
GNOME desktops."
Comments (none posted)
c|net
reviews
the recently released Fedora 8.
"
Over the years, Red Hat's Fedora has made a name for itself as a version of Linux for enthusiasts, developers, and those who want to try the latest thing in open-source software. But a curious feature of the new version 8, released Thursday, is the ability to strip out the Fedora identity altogether.
The reason: Red Hat wants Fedora to be a foundation for those who want to build their own Linux products on a Fedora foundation. With Fedora 8, that's easier, because all the Fedora-specific elements are wrapped up into one neatly optional package, said project leader Max Spevack."
Comments (7 posted)
Page editor: Rebecca Sobol
Development
By Forrest Cook
November 14, 2007
The Miro project,
which was formerly known as Democracy Player,
(reviewed
on LWN.net in 2006) has just
announced the release of Miro version 1.0.
Unlike simple video player applications, the focus of Miro is on
downloading and managing video collections.
Miro is classified as an Internet TV viewer.
Miro is the main product from the non-profit Worcester, MA
Participatory Culture Foundation:
Miro is our core project. It's a free open-source desktop video application that is designed to make mass media more open and accessible for everyone.
Television is the most popular medium in our culture. But broadcast and cable TV has always been controlled by a small number of big corporations. We believe that the internet provides an opportunity to open television in ways that have never been possible before.
Miro's feature list
includes the following capabilities:
- Miro is cross-platform, open-source software.
- The software has been translated to over 40 languages.
- Miro has the normal video motion controls.
- There are keyboard shortcuts for easy playback control.
- Miro supports fullscreen viewing of HD video.
- The MPEG, Quicktime, AVI, H.264, Divx, Windows Media and Flash Video formats are supported.
- It is possible to play sequential videos via playlists.
- Video downloading capabilities are built-in.
- RSS-based video channels are supported.
- It is possible to auto-download videos.
- Miro can download via BitTorrent feeds.
- Downloaded video expires after a number of days in order to free up disk space.
- The Miro Guide provides an online catalog of RSS video feeds.
- There are various search options for locating particular videos.
- There are many library features for organizing video collections.
- Miro supports the movement of library data across media.
- Miro has built-in disk space management.
- Pushbuttons are provided for sharing channels and videos with others.
Installation of Miro on a recently installed Ubuntu 7.10 "Gutsy Gibbon"
machine was trivial. The Miro
download site has detailed
instructions on adding the appropriate software repository and
installing the various required packages.
As a test, your author ran Miro on a .mov file that was created on
a Nikon S10 digital camera. The video played, but had a tendency
to pause briefly every few seconds. On the same machine, the video
played without pauses when viewed with the simpler
MPlayer application.
Perhaps the relatively old Athlon 1700 system with a non-accelerated
video card is not quite up to the task.
The real power of Miro can be seen by downloading videos from the net.
A few example videos were downloaded and played via the Miro Guide,
fortunately there was no evidence of the jerky playback here.
It is possible to select a number of videos, then download them in
parallel for later playback. Downloads can be paused and aborted if
necessary. Miro marks the downloaded videos as
UNWATCHED so that the user knows what has not yet been viewed.
Once playback is started, the videos are shown in the sequence that
they were downloaded.
This makes viewing much more a TV-like experience when compared to
watching videos from a web browser.
Creating a playlist is trivial, one simply clicks on the video in
the New window and drags it to the desired playlist label.
Playback is started by clicking the play button on the first video,
videos are played sequentially until they are all finished.
Miro greatly improves the experience of downloading and viewing
online videos. The designers should be congratulated for
making this big step forward. Give Miro a spin,
you won't be disappointed.
Comments (8 posted)
System Applications
Backup Software
The initial release of Geek Power Backup has been
announced.
"
GPB (Geek Power Backup) is a powerful backup solution that uses Bash Shell Scripting, rsync and SSH to create incremental backups of your data. GPB is intended for system administrators that need a powerful, open source, reliable backup solution."
Comments (1 posted)
Database Software
The November 11, 2007 edition of the Postgres Weekly News
is online with the latest PostgreSQL DBMS articles and resources.
Full Story (comments: none)
Embedded Systems
Version 1.8.1 of
BusyBox , a collection of command line
tools for embedded systems, is out.
"
This is a bugfix-only release, with fixes to login (PAM), modprobe, syslogd, telnetd, unzip."
Comments (none posted)
Web Site Development
James Bennett has announced a
blog series that will involve a daily article on the Django web platform
through the month of November, 2007.
"
Ive been reminded today by Maura that November is National Blog Posting Month, when in theory bloggers the world over try to keep up a pace of one entry every day. I dont know how well this is going to go, but Id like to give it a try. And, inspired by Drew McLellans excellent 24 ways advent calendars of web-design tips, Im going to give it a theme: one Django tip every day during the month of November. Kicking off the series, Id like to focus today on the deceptively-simple task of template loading and rendering."
Comments (none posted)
Desktop Applications
Desktop Environments
The following new GNOME software has been announced this week:
You can find more new GNOME software releases at
gnomefiles.org.
Comments (none posted)
The November 11, 2007 edition of the
KDE Commit-Digest has been
announced.
The content summary says:
"
Resurgent development work on KDevelop 4, with work on code parsing, code completion and the user interface. Support for converting the KVTML XML-based format to HTML in KDE-Edu. Support for the much-wanted feature of multiple album root paths in Digikam. Various continued developments in Amarok 2. Multiple additional comic sources for the Plasma Comic applet. Support for Kopete plugins written in Python, Ruby, JavaScript and other supported languages through the Kross scripting framework. A simple command-line application for playing media supported by Phonon..."
Comments (none posted)
The following new KDE software has been announced this week:
You can find more new KDE software releases at
kde-apps.org.
Comments (none posted)
Electronics
Version 0.2 of the UsbPicProg hardware project has been
announced.
"
UsbPicProg is a Microchip PIC programmer with simple hardware (one PIC18f2550 and some small components). It works together with Piklab. Usbpicprog consists of 3 components: *Hardware (a pcb design) *Embedded software *A plugin for Piklab / Piklab-prog".
Comments (none posted)
Interoperability
Version 0.9.49 of Wine
has been
announced.
"
What's new in this release:
Many copy protection fixes.
GLSL is now the default for Direct3D.
Lots of memory errors fixed thanks to Valgrind.
Support for TOPMOST windows.
Beginnings of an inetcomm dll implementation.
Lots of bug fixes."
Comments (none posted)
Medical Applications
The
Stratos viewer project now has an
online demo.
"
Stratos viewer is a web based utility to examine DICOM medical images through a web browser"
Comments (none posted)
Office Applications
Version 0.66.1 of Task Coach is
available.
"
Task Coach is a simple open source todo manager to manage personal tasks and todo lists. Often, tasks and other things todo consist of several activities. Task Coach is designed to deal with composite tasks.
This release fixes a number of minor bugs."
Comments (none posted)
Digital Photography
Version 0.13 of
UFRaw,
a utility that can read and manipulate raw images from digital cameras,
has been announced.
"
UFRaw-0.13 was just released, supporting all the latest and greatest
digital cameras (thanks to dcraw). From the long list of changes the
one that stands out is the option to save images in PNG format. PNG
format supports 8 and 16 bit depth, embedding the original EXIF data
and attaching an ICC profile. To top it all it gives an efficient
lossless compression."
Full Story (comments: none)
Science
Version 2.8.12 of
SAGE has been
released.
"
Use SAGE for studying a huge range of mathematics, including algebra, calculus, elementary to very advanced number theory, cryptography, numerical computation, commutative algebra, group theory, combinatorics, graph theory, and exact linear algebra." See the
release announcement for more information on this version.
Comments (none posted)
Video Applications
Version 0.9.0 of Schrodinger, an implementation of the BBC Dirac codec,
has been announced.
"
After a lot of heavy hacking from David Schleef Schrodinger 0.9.0 is now
available for download. The jump in version number is meant to
demonstrate that Schrodinger is getting close to its first major
release.
This release is very close to the current bitstream specification, but
since the bitstream specification is not 100% frozen yet files created
with this version of Schrodinger are likely not to play in future
bitstream compliant decoders including future versions of Schrodinger."
Full Story (comments: none)
Web Browsers
The November 1, 2007 edition of the Mozilla Links Newsletter
is online, take a look for the latest news about the Mozilla browser
and related projects.
Full Story (comments: none)
Miscellaneous
Version 0.600 of Hotwire is out with a number of new features and bug fixes.
"
Hotwire is not a terminal emulator, nor is it something you can set as
your Unix "login shell"; instead, Hotwire unifies the concepts of
shell and terminal and can natively do about 80-90% of what one would
normally do in a terminal+shell; for the rest, Hotwire can embed VTE.
Practically speaking, Hotwire provides a modern command interface for
developers and system administrators to interact with the computer."
Full Story (comments: none)
Version 0.5.2 of SDict Viewer has been
announced.
"
SDict Viewer is a viewer for dictionaries in open format developed by AXMASoft (free dictionaries are available for download at http://sdict.com). Primary goal of the project is to provide usable dictionary app for Nokia 770 and N800 running Maemo.
This is a bug fix release."
Comments (none posted)
Languages and Tools
BASIC
The first release candidate of Gambas 2 has been
announced.
"
We're making this announcement now in hopes of attracting more testers users to the project during the release candidate cycle, to help us find any bugs we might have missed.
Gambas is a full-featured object language and development environment based on a BASIC interpreter. It is released under the GNU General Public Licence. Its architecture is very inspired by Java: a Gambas executable is an archive of compiled classes and data files that is executed by a custom interpreter."
Comments (none posted)
C
Version 0.4.1 of
Sparse
is out with bug fixes that apply to recent kernels.
"
Sparse, the semantic parser, provides a compiler frontend capable of parsing most of ANSI C as well as many GCC extensions, and a collection of sample compiler backends, including a static analyzer also called "sparse". Sparse provides a set of annotations designed to convey semantic information about types, such as what address space pointers point to, or what locks a function acquires or releases."
Full Story (comments: none)
Caml
The November 13, 2007 edition of the Caml Weekly News
is out with new articles about the Caml language.
Full Story (comments: none)
Haskell
The November 11, 2007 edition of the
Haskell Weekly News is online. This week sees the release of GHC 6.8.1, to rave reviews. There have been many reports of large performance improvements for Haskell programs, from small to large production systems. Congratulations to the GHC team for such a great release!
(Thanks to Don Stewart).
Comments (none posted)
PHP
Version 5.2.5 of PHP has been
announced.
"
This release focuses on improving the stability of the PHP 5.2.x branch with over 60 bug fixes, several of which are security related. All users of PHP are encouraged to upgrade to this release."
Comments (none posted)
Python
The November 12, 2007 edition of the Python-URL! is online with
a new collection of Python article links.
Full Story (comments: none)
Tcl/Tk
The November 10, 2007 edition of the Tcl-URL! is online with new
Tcl/Tk articles and resources.
Full Story (comments: none)
The November 14, 2007 edition of the Tcl-URL! is online with new
Tcl/Tk articles and resources.
Full Story (comments: none)
Libraries
Version 0.8.1 of libfishsound, an interface for decoding and
encoding audio data using the Xiph.Org Vorbis and Speex codecs,
is out.
"
This is a maintenance release, fixing a build error when libfishsound is
configured with encoding disabled."
Full Story (comments: none)
Page editor: Forrest Cook
Linux in the news
Recommended Reading
At Linux-Watch, Steven J. Vaughan-Nichols has a
wrap-up of the rather bizarre Open Document Foundation tale. The Foundation came about to promote Open Document Format, but gradually became disenchanted with it, eventually switching to a W3C format on its way to shutting down. The article quotes from Andy Updegrove, ODF supporter and standards process watcher: "
'What I think that Gary, Sam and Marbux are missing is that standards are, by definition, consensus tools. No one has to adopt them, so they have to work well enough for enough people that enough vendors actually implement them. Gary and company didn't get what they wanted, and decided to back another standard instead. There's nothing inappropriate about that, but there is something very unrealistic, as I doubt anyone sees CDF the way they do. Standards are one string that you can't push, unless you've got monopoly power--and needless to say, that they don't have.'"
Comments (3 posted)
Stan Beer of iTWire
offers a counterpoint to the plethora of "Why Linux won't make it on the desktop" articles. He looks at small business owner complaints as well as his own experiences trying to get reasonable performance from Windows. "
'As a small business owner I can afford the cost of Microsoft, I just can't afford the time anymore. I've had the host running QB go down, get new hardware installed, only to not be able to 'activate' Windows. Can't run a business that way! I don't mind paying for Windows, I just can't have it prevent me from doing my business. I'm switching everything to SuSE Linux. I'm pushing all my clients that way too!'"
Comments (1 posted)
Trade Shows and Conferences
KDE.News has a
report from KDE
Italia on the Italian Linux Day. "
For the people that have never
attended to these kind of events, it is important to remember that the
Italian Linux Day is a day dedicated to spreading Free and Open Source
Software and specially the GNU/Linux Operating System and its software
components such as KDE. The talks for the day were at different levels of
difficulty and you could find widely accessible talks or talks for an
expert audience with more technical and specific topics."
Comments (none posted)
The SCO Problem
Linux-Watch
reports that
SCO Group GmbH, SCO's Germany branch has been found guilty of lying about
Linux containing stolen Unix code. "
In the first case, reported on
by Heise Online, the pro-Linux German companies, Tarent GmbH and Univention
found that SCO was once more making claims that Linux contained Unix IP
(intellectual property). Specifically, SCO GmbH made the familiar claims
that "As we have progressed in our discovery related to this action, SCO
has found compelling evidence that the Linux operating system contains
unauthorized SCO UNIX intellectual property (IP)." This was followed by the
usual threat "If a customer refuses to compensate SCO for its UNIX
intellectual property found in Linux by purchasing a license, then SCO may
consider litigation.""
Comments (13 posted)
Companies
The Betaversion blog has
an interesting discussion on Dalvik, the not-a-Java-VM which will run on Google's Android platform. "
So, Android uses the syntax of the Java platform (the Java 'language', if you wish, which is enough to make java programmers feel at home and IDEs to support the editing smoothly) and the java SE class library but not the Java bytecode or the Java virtual machine to execute it on the phone (and, note, Android's implementation of the Java SE class library is, indeed, Apache Harmony's!)"
Comments (18 posted)
Linux-Watch
reports
on Red Hat's release of a beta version of Red Hat Enterprise Linux
that supports Amazon's Elastic Compute Cloud (EC2).
"
EC2 is a Web service that provides resizable server capacity in the cloud. This collaboration makes all the capabilities of RHEL 5.1, including the Red Hat Network management service, technical support and over 3,400 certified applications, available to customers on Amazon's network infrastructure and data centers.
Together, RHEL and Amazon EC2 enable customers to pay only for the infrastructure software services and capacity that they actually use. RHEL on Amazon EC2 enables customers to increase or decrease capacity within minutes, removing the need to over-buy software and hardware capacity as a set of resources to handle periodic spikes in demand."
Comments (none posted)
Linux-Watch
covers Red
Hat's announcement of a new appliance version Red Hat Enterprise Linux 5.1:
Red Hat Appliance Operating System. "
With RHAOS, and its associated
SDK (software developer kit), ISVs will be able to minimize their
development and support costs by writing once for RHEL and then being able
to run the application on any physical, virtual, appliance or cloud version
of RHEL. The company claims that this will allow applications that are
certified on RHEL to be deployed as software appliances on the broadest
range of servers in the industry. With RHAOS as a virtual machine, these
RHEL-certified applications will also be able to run on VMware ESX and
Microsoft Windows Viridian platforms."
Comments (4 posted)
Ars Technica
reports
that Fedora 8 is off to strong start. "
The latest version of
Fedora--codenamed Werewolf--was released last week. According to statistics
released this morning by Red Hat, Fedora 8 has been already been installed
over 54,000 times in only four days."
Comments (16 posted)
Linux at Work
PCWorld
reports
that Nigeria now plans to keep Mandriva on its Classmate PCs. "
Now,
however, a government agency funding 11,000 of the PCs has overruled the
supplier: Nigeria's Universal Service Provision Fund (USPF) wants to keep
Mandriva Linux on the Classmate PCs, said an official who identified
himself as the program manager for USPF's Classmate PCs project. "We are
sticking with that platform," said the official, who would not give his
name."
Comments (9 posted)
Interviews
Scott Dowdle
talks
with Linux-VServer project leader Herbert Pötzl (Bertl).
"
ML: How long have you been working on Linux-VServer and how did
you get started? Bertl: I started as an simple user back when the
project was called 'Linux Security Contexts', maintained by Jacques
Gelinas. Everything back then was very rough and edgy, many possible
exploits, no resource management, no SMP support. But I liked the idea of
the Project and soon I had a bunch of patches sitting on my desk, improving
this behavior or adding that feature."
Comments (12 posted)
Roberto V. Zicari
asks Bjarne
Stroustrup some questions about innovation. "
One of the main
driving force which influenced the introduction of new generation database
systems, such as ODBMS, was Object Oriented Programming (OOP). C++ is
notably one of the most important. I had the pleasure to interview Bjarne
Stroustrup who invented C++."
Comments (none posted)
Resources
O'Reilly has published
an introduction to S3.
"
S3 is a file storage and serving service offered by Amazon. In this article,
Eric Heuveneers demonstrates how to use Amazon S3 via its simple REST API to
store and serve your own documents, potentially offloading bandwidth from
your own application."
Comments (none posted)
Reviews
Brian DeLacey has an
in-depth look at the newly released Android SDK, over at O'ReillyNet. He looks at the Open Handset Alliance, the SDK itself, application development for the platform, and the $10 million Developer Challenge. "
Consistent with the design goal of making the platform as open as possible, all Android code is being released under the Apache license. Anyone who wants to can extend, modify, or enhance the platform. (One adoption-accelerating consequence of using the Apache license is that handset manufacturers can write their own device-level drivers or make other customizations without being forced to release this intellectual property to competitors. In addition, third party developers can extend the object oriented user interface and add in their own suite of applications without running the risk of license infractions.)"
Comments (40 posted)
LinuxDevices
reviews an inexpensive Linux-compatible motherboard from Everex.
"
For $60, developers and Linux hackers can now buy the guts of the recently unveiled $200 Everex TC2502 Linux PC. The compact, ultra-efficient, x86-compatible "gOS Dev Board" comes with "gOS," a lightweight Linux-based OS meant for use with Google Apps.
The gOS operating system was initially created for use in Everex's TC2502, a $200 Linux-based PC available for $200 at Walmart.com and at select Walmart locations. The gOS Developer Board product lets developers and Linux hackers buy just the TC2502's motherboard, along with a CD of the gOS distribution."
Comments (3 posted)
Miscellaneous
There are rumors of a gift-giving holiday in the not-too-distant future, so LinuxDevices
has a list of Linux gadgets that might fit someone on your list. "
Got a Linux Gadget Geek on your shopping list? You can't fail with a gift from this guide to the ten hottest Linux-powered devices gleaned from LinuxDevices.com's news throughout 2007. There's something for everyone, at prices from $150 to $1,000, organized from least to most expensive."
Comments (18 posted)
LinuxMedNews
reports
on the CCHIT testing of LAIKA.
"
The Certification Commission for Healthcare Information Technology has entered into the next phase of building software capable of testing the Interoperability capabilities of electronic health record systems, officials reported today.
CCHIT is collaborating with the MITRE Corp. on an open source, software-testing framework called, LAIKA, which will make it possible for vendors to test and verify whether their products meet CCHIT certification."
Comments (none posted)
Page editor: Forrest Cook
Announcements
Non-Commercial announcements
The Free Software Foundation Europe has announced an open trial period
for Certified Open.
"
Today sees the launch of the trial period for Certified Open, a
programme to evaluate the technical and commercial lock-in of ICT
solutions. Certified Open promotes fair and effective competition in
the delivery of software, hardware and services.
Certified Open is a joint venture between OpenForum Europe (OFE) and
Free Software Foundation Europe (FSFE). The programme originated in UK
local government and European Commission eTen projects and was further
developed with industry, community and user engagement."
Full Story (comments: none)
The X.Org Foundation has announced that nominations for its board of directors are open.
"
All X.Org
Foundation members are eligible for election to the board.
Nominations for the 2007 election are now open and will
remain open until 23.59 GMT on Saturday 1 December 2007.
The Board consists of Directors elected from the membership.
Each Director is elected to serve a two-year term. Each
year, an election is held to bring the total number of
Directors to eight."
Full Story (comments: none)
Commercial announcements
3DLABS Semiconductor has announced a Linux 2.6.21 Software Development Kit
for its DMS-02 applications processor.
"
The kit brings the latest open source innovations to developers and device makers using
3DLABS' DMS-02 processor to deliver unrivalled application and media processing performance within
low power environments.
The SDK provides a suite of development tools and production ready applications, CODECs and
libraries that take full advantage of the underlying features and performance of the DMS processor".
Full Story (comments: none)
ACCESS CO., LTD. has
announced
that it will make available a beta version of a Garnet(TM) VM software for
Nokia N770, N800 and N810 Internet Tablets. Garnet VM is expected to be
available by the end of the year free of charge as a download from the
ACCESS website.
Comments (none posted)
BitNami has announced packaged versions of its Trac and Redmine
software stacks.
"
The BitNami Stacks combine each application with all of the
other software it requires in fast, easy to use installer. In less than 5
minutes, you can have Trac or Redmine installed and configured with
Subversion, Apache, and all other required software. The Trac and Redmine
Stacks are currently available for Linux, with Windows, Mac OS X and Solaris
coming soon."
Full Story (comments: none)
The Java Community Process Program has
announced
the final results of the 2007 JCP Executive Committees elections.
"
After two
ballot rounds -- for ratified and elected seats -- the winners are: Apache
Software Foundation, Eclipse Foundation, Inc., Google Inc., Nortel and Red
Hat Middleware LLC for the Java SE/EE EC and Intel Corporation, Orange
France SA, Research In Motion, LTD (RIM), Samsung Electronics Corporation
and Time Warner Cable Inc. for the Java ME EC. For an overview of the JCP
EC elections process including detailed descriptions of the ratified seats
and elected seats selection processes you can visit
http://jcp.org/en/whatsnew/elections."
Comments (none posted)
Microsoft Corp. has
announced the first year of collaboration with Novell.
"
One
year after signing a landmark agreement to build a bridge between open
source and proprietary software, Novell Inc. and Microsoft Corp. today
unveiled continued strong momentum behind the agreement.
Having exceeded their original business targets, the companies continue
to see strong demand for interoperability and intellectual property (IP)
peace of mind. In addition, Novell and Microsoft announced an expansion of
their technical collaboration to create a cross-platform accessibility
model that links together the existing Windows and Linux frameworks used to
build assistive technology products that enable people with disabilities to
interact with computers."
Comments (5 posted)
Oracle has sent out
a press release saying that its "Unbreakable Linux" offering has been selling better than expected with over 1500 paying customers. "
The Oracle
Unbreakable Linux support program has also helped Oracle drive growth and
advancements in Linux as bug fixes are provided back to the Linux
community, in addition to the company's on-going new features and
functionality contributions."
Comments (2 posted)
Skype has
announced
a beta release of the Skype 2.0 teleconferencing application for Linux.
Comments (none posted)
Terra Soft has announced the debut of the Y-Film VFX management and productivity tools at the Supercomputing 07 conference.
"
Y-Film
leverages two decades experience in the Hollywood VFX industry through the
integration of a robust Asset Manager, a Workflow Pipeline, an Artist
Productivity Tool suite, and an end-to-end Color Management System."
Full Story (comments: none)
Terra Soft Solutions has announced the availability of
Yellow Dog Linux v6.0 for the IBM BladeCenter QS21.
"
This evolutionary
addition to the growing family of Terra Soft's operating system for the Power
architecture offers QS21 end-users an advanced, robust, fully tested
RPM-based Linux OS. Coupled with professional support from Terra Soft, YDL
v6.0 with integrated IBM SDK v3.0 enables end-users to rapidly install,
deploy, and immediately use QS21 compute nodes."
Full Story (comments: none)
New Books
No Starch Press has published the book
Absolute FreeBSD, 2nd Edition
by Michael W. Lucas.
Full Story (comments: none)
Contests and Awards
KDE.News has
announced
the winners of the KDE 4.0 Release Event contest.
"
On October 4, 2007 we announced a contest regarding the KDE 4.0 Release Event at Mountain View, California on January 17-19, 2008. Participants were asked to answer the question: "Why should you be at the KDE 4.0 Release Event?" with the winner being flown out to the Release Event itself.
We received many great submissions from community members with very different backgrounds from around the globe. Everyone captured the spirit of the contest with enthusiastic responses; some humorous and some serious, some brief and some reaching the submission limit on length. In the end, with generous approval from KDE e.V. Vice President and Treasurer Cornelius Schumacher, we have decided to fly out two contestants".
Comments (none posted)
use Perl
reports
that Patrick Michaud has been awarded a Perl 6 Development Grant.
"
It is with great pleasure that The Perl Foundation and Mozilla Foundation announce a major new Perl 6 Development Grant. The recipient of the grant is Patrick Michaud, the Perl 6 compiler pumpking and lead programmer of a Perl 6 implementation based on Parrot and on his own work on the Perl 6 compiler and grammar. The grant will provide Patrick with four months of support for this work beginning November 1, 2007. Patrick will receive US$15,000 over this time, with $10,000 of the funding coming from Mozilla Foundation and $5,000 from The Perl Foundation."
Comments (none posted)
Education and Certification
The Linux Professional Institute has announced the formation of the
Information Technology Certification Council (ITCC).
"
The ITCC is a collaborative effort between such leading IT corporations
as HP, IBM, Microsoft, Novell and Sun; test development and delivery
vendors Pearson Vue and Prometric; certification organizations the Computing Technology
Industry Association (CompTIA) and the Linux Professional Institute
(LPI); and education provider Kaplan.
"LPI applauds this initiative and recognizes the importance of
participating in a constructive effort to continually enhance the value of
IT certification."
Full Story (comments: none)
Calls for Presentations
A call for papers has gone out for CanSecWest 2008.
The conference takes place on March 26-28, 2008 in Vancouver, Canada.
The submission deadline is November 30.
Full Story (comments: none)
A call for proposals has gone out for The Python Papers Monograph Series.
"
The Python Papers Monograph Series (ISSN under application) is a
sub-publication of The Python Papers (ISSN 1834-3147). This monograph
series provides a refereed format for publication of monograph-length
reports including dissertations, conference proceedings, case studies,
advanced-level lectures, and similar material of theoretical or
empirical importance."
Full Story (comments: none)
Upcoming Events
KDE.News has an
announcement
for the
Akademy-es conference.
"
Our conference in Spain, Akademy-es, will be held in Zaragoza this year on
the 17th and 18th November. We have a very interesting schedule with talks
about CMake, KOffice, KDE programming, KDE 4 among other interesting topics.
Of course, entry to the talks is free, only limited by physical space. We are
planning to have a dinner on saturday night, if you are interested in
attending mail sent us a mail to cena-akademy2007-at-ereslibre.es."
Comments (none posted)
The second
Django worldwide sprint has been announced.
"
We'll hold the sprint Saturday, December 1st here in Lawrence, KS, and virtually around the world. We'll run things much the same as we did last time around.
We plan to devote at least 24 hours of focused work to get some of this done in an organized fashion, and also to encourage new people to contribute. If all goes well on Saturday, we'll probably continue to Sunday.
Anybody can participate and contribute, and there's no obligation or expectation. If you've never contributed to Django before, this is the perfect chance for you to chip in."
Comments (none posted)
The sponsors of FOSS.IN/2007 have been announced.
"
We all know that an international event like FOSS.IN simply cannot happen
without the generous support from sponsors. And this is even more so this
year, where the event is bigger than ever!
As always, our sponsors have been extremely supportive, and it gives me
great pleasure to introduce them to you..."
Full Story (comments: none)
Events: November 22, 2007 to January 21, 2008
The following event listing is taken from the
LWN.net Calendar.
| Date(s) | Event | Location |
November 20 November 23 |
DeepSec ISDC 2007 |
Vienna, Austria |
November 22 November 23 |
Conferencia Rails Hispana |
Madrid, Spain |
| November 24 |
LinuxDay in Vorarlberg (Deutschland, Schweiz, Liechtenstein und Österreich) |
Dornbirn, Austria |
November 26 November 29 |
Open Source Developers' Conference |
Brisbane, Australia |
November 28 November 30 |
Mono Summit 2007 |
Madrid, Spain |
November 29 November 30 |
PacSec 2007 |
Tokyo, Japan |
| December 1 |
Django Worldwide Sprint |
Online, World |
| December 1 |
London Perl Workshop 2007 |
London, UK |
December 4 December 8 |
FOSS.IN 2007 |
Bangalore, India |
December 7 December 8 |
Free Software Conference Scandinavia |
Gotherburg, Sweden |
December 7 December 8 |
PGCon Brazil |
Sao Paulo, Brazil |
| December 10 |
Paris on Rails (2nd Edition) |
Paris, France |
December 11 December 12 |
3rd DoD Open Conference: Deployment of Open Technologies and Architectures within Military Systems |
Vienna, VA, USA |
December 15 December 22 |
Unix Meeting 2007 |
IRC, Worldwide |
December 27 December 30 |
24th Chaos Communication Congress |
Berlin, Germany |
| December 31 |
Israeli Perl Workshop |
Ramat Efal, Israel |
January 11 January 13 |
FUDCon Raleigh 2008 |
Raleigh, NC, USA |
January 16 January 17 |
QualiPSo Conference 2008 |
Rome, Italy |
January 17 January 19 |
KDE 4 release event |
Mountain View, CA, USA |
If your event does not appear here, please
tell us about it.
Mailing Lists
A new GNOME
academia-list mailing list has been announced.
"
The purpose of this list is to establish a bond between the GNOME
community and academia."
Full Story (comments: none)
Page editor: Forrest Cook