Paul Starzetz and Wojciech Purczynski of isec.pl discovered a critical security vulnerability in the memory management code of Linux inside the mremap(2) system call. Due to flushing the TLB (Translation Lookaside Buffer, an address cache) too early it is possible for an attacker to trigger a local root exploit.
The attack vectors for 2.4.x and 2.2.x kernels are exclusive for the respective kernel series, though. We formerly believed that the exploitable vulnerability in 2.4.x does not exist in 2.2.x which is still true. However, it turned out that a second (sort of) vulnerability is indeed exploitable in 2.2.x, but not in 2.4.x, with a different exploit, of course.
For the stable distribution (woody) this problem has been fixed in the following versions and architectures:
package | arch | version
kernel-source-2.2.20 | source | 2.2.20-5woody3
kernel-image-2.2.20-i386 | i386 | 2.2.20-5woody5
kernel-image-2.2.20-reiserfs-i386 | i386 | 2.2.20-4woody1
kernel-image-2.2.20-amiga | m68k | 2.20-4
kernel-image-2.2.20-atari | m68k | 2.2.20-3
kernel-image-2.2.20-bvme6000 | m68k | 2.2.20-3
kernel-image-2.2.20-mac | m68k | 2.2.20-3
kernel-image-2.2.20-mvme147 | m68k | 2.2.20-3
kernel-image-2.2.20-mvme16x | m68k | 2.2.20-3
kernel-patch-2.2.20-powerpc | powerpc | 2.2.20-3woody1
For the unstable distribution (sid) this problem will be fixed soon for the architectures that still ship a 2.2.x kernel package.
We recommend that you upgrade your Linux kernel package.
Vulnerability matrix for CAN-2004-0077