This file lists the major changes made between Owl releases. While
some of the changes listed here may also be made to a stable branch,
the complete lists of stable branch changes are included with those
branches and as errata for the corresponding Owl releases only.

This is very far from an exhaustive list of changes. Small changes to
individual packages won't be mentioned here unless they fix a security
or a critical reliability problem. They are, however, mentioned in
change logs for the packages themselves.

Security fixes have a "Severity" specified for the issue(s) being fixed.
The three comma-separated metrics given after "Severity:" are: risk
impact (low, medium, or high), attack vector (local, remote, or
indirect), and whether the attack may be carried out at will (active) or
not (passive). Please note that the specified risk impact is just that,
it is not the overall severity, so other metrics are not factored into
it. For example, a "high" impact "local, passive" issue is generally of
lower overall severity than a "high" impact "remote, active" one - this
is left up to our users to consider given their specific circumstances.

Per our current conventions, a Denial of Service (DoS) vulnerability is
generally considered to have a "low" risk impact (even if it is a
"remote, active" one, which is to be considered separately as it may
make the vulnerability fairly critical under specific circumstances).
Some examples of "medium" impact vulnerabilities would be bugs enabling
non-critical information leaks, cryptographic signature forgeries,
and/or sending of or accepting spoofed/forged network traffic (where
such behavior was unexpected), as long as they would not directly allow
for a "high" impact attack. Finally, a typical "high" impact
vulnerability would allow for privilege escalation such as ability to
execute code as another user ID than the attacker's (a "local" attack)
or without "legitimately" having such an ability (a "remote" attack).

The metrics specified are generally those for a worst case scenario,
however in certain cases ranges such as "none to low" or/and "local to
remote" may be specified, referring to the defaults vs. a worst case yet
"legitimate" custom configuration. In some complicated cases, multiple
issues or attacks may be dealt with at once. When those differ in their
severity metrics, we use slashes to denote the possible combinations.
For example, "low/none to high, remote/local" means that we've dealt
with issue(s) or attack(s) that are "low, remote" and those that are
"none to high, local". In those tricky cases, we generally try to
clarify the specific issue(s) and their severities in the description.

Changes made between Owl 2.0 and Owl 3.0.

2010/12/13 -
2010/12/14 Owl/build/{installworld.sh,installorder.conf}

Various corrections were made to "make installworld" to better support
upgrades from ("installs over") Owl 2.0.

Added new boot label called "safe" to the CD boot menu. Currently, this
adds the "acpi=ht" kernel parameter (for machines that have problems
with ACPI support), which "settle" propagates into the installed system.

Revised pam_mktemp in multiple ways mostly relevant to (re)uses of this
module on systems other than Owl.

2010/09/06 Package: rpm

Backported xz/lzma support for Source and Patch files, as well as for
package payloads.

2010/09/06 Package: xz

New package: data compression library and a set of gzip-style tools for
working with files compressed with the Lempel-Ziv-Markov chain algorithm
(LZMA). It supports two formats: .xz and the older .lzma format.

/etc/rc.d/rc.sysinit has been enhanced and corrected in numerous ways:
it will disable the console screensaver (such that datacenter staff may
see the last console messages without connecting a keyboard or even if
the system freezes), distinguish more kinds of fsck exit codes and act
accordingly, and use "depmod -A" instead of "depmod -a" (to avoid
rebuilding of kernel module dependencies unnecessarily). The default
/etc/sysctl.conf will now explicitly set vm.mmap_min_addr to a
reasonable non-zero value (currently 96 KB), not relying on the kernel
to have a similar default anymore (although our kernel does).

Added ext4 filesystem support - in fact, "settle" (the Owl installer
program) will now offer ext4 by default, with ext3 and ext2 still
available as non-default per-filesystem choices. Made the menus,
prompts, and messages of both "settle" and "setup" hopefully more
intuitive by clearly indicating which steps are optional, required, or
recommended (and the like), having a bit fewer menu items (where some
could be dropped or replaced without a loss of functionality for any of
our users), revising menu item names and hint messages, and offering
likely-correct inputs as defaults. Revised the console font/map presets
for Cyrillic and Western European encodings. Almost all on-disk
filesystems are now mounted with "noatime" by default (for better
performance), and a /sys mountpoint and fstab entry (for sysfs) are now
created by default (with "noauto").

2010/07/24 Package: owl-cdrom

Revised the LILO boot menu, leaving only two boot targets: "normal" and
"rescue". This makes use of the new kernel's boot CD/DVD drive device
autodetection. Revised the "welcome" script to reflect other changes,
and enhanced it in numerous minor ways.

Updated the kernel to OpenVZ's latest from their rhel5 branch
(2.6.18-194.8.1.el5.028stab070.2) with minor additional changes in Owl.
As usual, this kernel version contains a number of security fixes
(mostly backports made by Red Hat). The security impact of
CVE-2010-0291 ("mremap/mmap mess"), if any, on x86 and x86-64 systems is
difficult to determine. The remaining issues fixed were NULL pointer
dereferences (the impact of which had been reduced to a DoS due to
vm.mmap_min_addr) and/or were in kernel subsystems not built on Owl by
default. At the same time with making this update, the kernel has been
RPM-packaged, but in a way allowing for easy non-packaged builds as well
(there are only two cumulative patch files). AHCI vs. Marvell PATA
driver co-existence fixes have been backported from Linux 2.6.34.1.
Boot CD/DVD drive device autodetection has been implemented (needed to
locate the root filesystem when booting off a CD/DVD with LILO). ext4
filesystem support has been enabled.
References:
http://wiki.openvz.org/Download/kernel/rhel5/028stab070.2https://rhn.redhat.com/errata/RHSA-2010-0504.html

2010/06/14 Package: john

Updated to 1.7.6, including usability improvements relevant to the Owl
package of John the Ripper.

2010/06/07 Package: tcb

Updated to 1.0.6.

2010/05/04 Package: lftp
SECURITY FIX Severity: high, remote, passive

Updated to 4.0.7. This changes the default behavior of lftp(1) and the
lftpget(1) script to no longer trust and use a possible server-provided
filename instead of the user-specified download filename.
Reference:
http://www.ocert.org/advisories/ocert-2010-001.html

2010/04/14 Package: strace

Updated to 4.5.20.

2010/03/27 Package: passwdqc

In passwdqc 1.2.1, a password strength check has been adjusted to no
longer subject certain passwords that start with a digit and/or end with
a capital letter to an unintentionally stricter policy.

Updated the kernel to OpenVZ's latest from their "rhel5" branch
(2.6.18-164.11.1.el5.028stab068.5 released on 2010/03/18) with Red Hat's
patches up to 2.6.18-164.15.1.el5 added (apparently prepared by Red Hat
on 2010/03/01, released and announced on 2010/03/16), and with some
minor changes of our own. We call the resulting kernel version
2.6.18-164.15.1.el5.028stab068.5-owl1. Compared to earlier "rhel5"
kernels, this update fixes a large number of vulnerabilities of varying
impact in various kernel subsystems, which may or may not have been
exposed in specific circumstances.

Updated tar to 1.23, which includes a fix for the heap-based buffer
overflow in the rmt client functionality (CVE-2010-0624), and applied
a fix for the same vulnerability to cpio. The attack would require
either that an rmt server being used by tar or cpio on purpose is
compromised first (by other means) or that these tools are fooled into
accessing a malicious rmt server, such as via having them run on a
malicious filename. The latter risk was mitigated by tar's default to
use ssh for the --rsh-command and by ssh defaulting to asking the user
before accepting an unrecognized host key. In cpio's case, it was
mitigated by cpio requiring the --rsh-command option to use rmt. With
our update to tar, we have also patched it to require its --rsh-command
option to use rmt (just like cpio does), and we applied a number of
post-release fixes for regressions introduced in the 1.23 release.
References:
http://www.agrs.tu-berlin.de/index.php?id=78327http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0624http://lists.gnu.org/archive/html/bug-tar/2010-03/msg00036.html

2010/03/20 Package: hdparm

Updated to 9.28.

2010/03/20 Package: pciutils

Updated to 3.1.7.

2010/03/19 Package: libnids

Updated to 1.24.

2010/03/13 -
2010/03/16 Package: passwdqc

Enhanced passwdqc in numerous ways bringing it up to version 1.2.0.

2010/03/15 Package: quota

Updated to 3.17.

2010/03/05 Package: tcsh

Updated to 6.17.00.

2010/02/26 Package: john

Several minor features were added and usability improvements made to
John the Ripper, bringing it up to version 1.7.5.

Applied upstream's fix for an integer underflow leading to an array
index error in the way gzip used to decompress data compressed with the
Lempel-Ziv-Welch (LZW) compression algorithm. An attacker could provide
a specially-crafted LZW-compressed gzip archive, which once decompressed
by an unsuspecting user on a 64-bit system would lead to a gzip crash or
potentially to arbitrary code execution with the privileges of the user
running gzip.
Reference:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0001

The default kernel has been replaced with OpenVZ's latest from their
"rhel5" branch, with some modifications of our own (mostly for better
compatibility with the Owl userland, as well as for security).
Formally, this was forked off Linux 2.6.18 (originally by Red Hat), but
the changes are so extensive that this is actually an up-to-date kernel
branch/version on its own, including Red Hat's backports of security
fixes (and a lot more) and OpenVZ's container-based virtualization.
This kernel branch is currently maintained by both Red Hat (for RHEL5)
and OpenVZ. The specific version number we're currently using is
2.6.18-128.2.1.el5.028stab064.8-owl0.2.

Dropped two older libstdc++-*-compat subpackages, which were providing
binary compatibility for C++ programs built with gcc 2.x.

2009/11/20 Package: ipchains;
Owl/build/installorder.conf

Dropped package: ipchains has been obsoleted by iptables for years, but
we kept it in Owl to ease transition of existing systems from Linux 2.2
to Linux 2.4 kernels (which still included optional kernel support for
ipchains). Now that we're dropping support for Linux 2.4, it is also
high time to drop ipchains, so we did. iptables, the replacement, has
been a part of Owl for years.

2009/11/18 Package: diffstat

Updated to 1.51.

2009/11/18 Package: vsftpd

Updated to 2.2.2.

2009/11/17 kernel
SECURITY FIX Severity: none to high, local, active

Updated to Linux 2.4.37.7-ow1. The 2.4.37.7 kernel fixes a number of
security-related bugs.

Updated to Linux 2.4.37.6-ow1. The 2.4.37.6 kernel fixes a number of
information leak vulnerabilities. One of these was already fixed in
2.4.37.5-ow1, and the remaining ones may or may not affect specific
systems depending on both kernel and userspace configuration.

Many RPM spec files have been adjusted and a new tri-state setting has
been introduced into buildworld.conf to control whether the testsuites
are to be run. The default is to run most tests, other possible
settings are to run all of the tests (including extremely slow ones) or
to disable all tests.

Introduced the configure-presets script, which pre-defines a bunch of
autoconf variables in order to achieve more deterministic and slightly
quicker builds. Most importantly, this makes the configure scripts of
many other packages assume the presence of certain security-relevant
interfaces (fail-close behavior) rather than auto-detect those and
possibly fallback to other interfaces (fail-open behavior). The
configure-presets script is automatically "sourced" before the %build
section commands are invoked (including when our rpmbuild(8) is used to
build third-party packages), and it may also be explicitly "sourced" for
manual builds of autoconf'ed software by Owl users.

Corrected pdfroff(1) to create temporary files in a safe manner and to
invoke gs(1) (Ghostscript) with the -dSAFER option to make it treat the
input file as untrusted. pdfroff had been introduced into Owl with the
groff update on 2009/08/06. Before getting corrected, the temporary
files issue was mitigated by pdfroff's use of the TMPDIR environment
variable, which our pam_mktemp module sets to point to the user's
private directory. Additionally, for pdfroff to work and for the lack
of the -dSAFER option to come into play, one would need to install
Ghostscript first, which was not a part of Owl. Besides fixing pdfroff,
we have identified and patched numerous relatively minor temporary file
handling issues in other components of the new version of groff. Thanks
to brian m. carlson for identifying and reporting the two pdfroff issues
to Debian.
References:
http://www.openwall.com/lists/oss-security/2009/08/09/1http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=538330http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=538338

2009/08/06 Package: logrotate

Updated to 3.7.8.

2009/08/06 Package: groff

Updated to 1.20.1.

2009/08/03 kernel

Updated to Linux 2.4.37.4-ow1. The 2.4.37.4 kernel integrates a
replacement for the "personality" hardening measure introduced in
2.4.37.3-ow1.

2009/07/29 Package: chkconfig

Updated to 1.3.42.

2009/07/28 Package: bind
SECURITY FIX Severity: low, remote, active

Backported upstream fix for a remote DoS bug: by sending a specially
crafted dynamic update packet to a BIND server, a remote unauthenticated
attacker could cause the server to crash. According to the ISC and to
our own testing, this vulnerability affects servers that are masters for
one or more zones - it is not limited to those that are configured to
allow dynamic updates. Our default BIND configuration includes several
master zones, such as 127.in-addr.arpa, which are usable for the attack.
BIND's own access controls (such as the "allow-query" directive) are
ineffective against the attack.
References:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=538975http://www.kb.cert.org/vuls/id/725188http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0696

Updated to Linux 2.4.37.3-ow1. The 2.4.37.3 kernel release adds the
"-fno-delete-null-pointer-checks" option to gcc invocations, which is
important to reduce the impact of a class of kernel bugs (which are yet
to be found and fixed individually, but are known to exist in general),
adds several security-relevant fixes to the RTL-8169 NIC driver, and
makes other assorted changes. The Linux 2.4.37.3-ow1 kernel patch
introduces an additional security hardening measure where the kernel
will no longer allow the "personality" feature (which is needed to
support some program binaries from other operating systems) to be abused
to bypass the vm.mmap_min_addr restriction via SUID-root programs with a
certain class of design errors in them. Similar changes were introduced
into 2.6.x kernels recently.
References:
http://git.kernel.org/linus/a3ca86aea507904148870946d599e07a340b39bfhttp://www.openwall.com/lists/oss-security/2009/07/16/1http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1895

Updated to 5.00 with our usual enhancements for privilege reduction and
with some post-release fixes. Enabled build of Ncat (an even more
powerful remake of the well-known netcat tool, which we previously had
represented in Owl with OpenBSD's remake) and build of Nmap with NSE
(Nmap Scripting Engine) support enabled. Ncat gets into its own binary
subpackage called "ncat" and installable independently of "nmap".
Reference:
http://www.openwall.com/lists/owl-users/2009/07/19/1

Updated to 3.0.7. Fixed the DHCP server premature termination bug when
receiving certain well-formed DHCP requests, provided that the server
configuration mixes host definitions using "dhcp-client-identifier" and
"hardware ethernet". It has not been fully researched whether the bug
had any impact on versions 3.0.x of the DHCP server, and there is a
specific reason why it might not have had any impact, yet we're fixing
the underlying bug. Discovery and patch by Christoph Biedl.
References:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1892http://www.openwall.com/lists/owl-users/2009/07/16/1

New package: cdrkit is a suite of programs for recording CDs and DVDs,
blanking CD-RW media, creating ISO-9660 filesystem images, extracting
audio CD data, and more. This obsoletes our mkisofs source package,
which was directly based on cdrtools (of which cdrkit is a fork).

2009/05/21 Package: nmap

Updated to 4.76.

2009/05/15 Package: libnids

Updated to 1.23.

2009/05/09 Package: hdparm

Updated to 9.15.

2009/05/02 Package: e2fsprogs

Updated to 1.41.5.

2009/04/08 Package: tcb

In the new version 1.0.3 of the tcb package, child processes spawned by
pam_tcb will now always use _exit(2) rather than exit(3) to avoid
triggering side effects. When changing passwords, pam_tcb will now
fsync(2) the temporary file prior to renaming it over the actual shadow
file, as needed on filesystems with not entirely atomic rename(2) (XFS).
Thanks to Pascal Terjan of Mandriva and to Ermanno Scaglione for
reporting these two issues, respectively.

2009/03/06 Package: bind

Dropped the root-delegation-only directive from the default named
configuration because the list of TLDs that are not delegation-only was
incomplete and wouldn't be maintained/updated on all installs, causing
some DNS lookups of valid records to fail.
Reference:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=217829

2009/02/06 Package: bind

Dropped DNSSEC support, which is not useful on the Internet at large
yet. Those who wish to experiment with DNSSEC at their own risk may
set BUILD_OPENSSL to 1 and rebuild the package.

Updated to 2.4.8, disabled the Solaris symlink hack that allowed local
mail deliveries through "root-owned" symlinks. Although this is a
security update for some other systems, on Owl the problem was avoided
or mitigated in several ways:
- we have a patch, introduced prior to Owl 2.0, that adds the
local_minimum_uid setting with a default of 500 - preventing local mail
deliveries to user "root" (unless it is correctly setup as an alias to
some other e-mail address), as well as to other system special accounts;
- there's no potential attack vector to get group "mail" privileges on
Owl with no third-party software added - no single program is installed
SGID "mail";
- the mail spool directory is only writable by root and group "mail"
(not world-writable), yet it has the sticky bit set (mode 1771), which
prevents the attack for already-existing mailboxes;
- "useradd -m", which must be used to create a user account with a home
directory, also pre-creates the mailbox;
- our default kernel includes the CONFIG_HARDEN_LINK option, enabled by
default, which thwarts the hardlink-to-symlink attack.

2008/08/10 Package: bind

Updated to 9.3.5-P2, added an OpenBSD-derived patch to implement
support for more than 1024 simultaneous recursive queries.

2006/09/13 -
2008/07/10 Package: john

Many updates to John the Ripper have been made, bringing it to version
1.7.3. Most notably, two Blowfish-based crypt(3) hashes may now be
computed in parallel for much better performance on x86-64 CPUs. Also,
"DumbForce" and "KnownForce" external mode samples have been added to
the default john.conf.

Applied numerous minor changes to pam_passwdqc and its default settings,
including replacing its set of separator characters (used for randomly
generated "passphrases") with some of those defined by RFC 3986 as being
safe within "userinfo" part of URLs without encoding, reducing the
default minimum length for passphrases from 12 to 11, and corrections to
the documentation.

2008/01/15 Package: tar

Added a new option: --ignore-device-id, to be used when creating
incremental dumps off filesystems with volatile device numbers, such as
OpenVZ simfs.

2008/01/04 Package: hdparm

Updated to 7.7.

2008/01/01 Package: gnupg

Updated to 1.4.8.

2008/01/01 Package: e2fsprogs

Updated to 1.40.4.

2007/12/16 Package: postfix

Updated to 2.4.6.

2007/12/06 Package: e2fsprogs

Applied upstream patch to fix integer overflows in libext2fs.
This addresses a potential vulnerability where an untrusted filesystem
can be corrupted on purpose in such a way that a program using libext2fs
will allocate a buffer that is far too small. This can lead to either a
crash or potentially a heap-based buffer overflow.
Thanks to Rafal Wojtczuk of McAfee Avert Labs for reporting this issue.
Reference:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-5497

2007/12/05 Package: gettext

Updated to 0.14.6.

2007/11/19 Package: findutils

Updated to 4.2.31.

2007/11/18 Package: ltrace

Updated to 0.5.

2007/11/18 Package: elfutils-libelf

Updated to 0.131.

2007/11/15 Package: e2fsprogs

Updated to 1.40.2.

2007/10/24 -
2007/11/05 Package: sysklogd

Implemented logging of the sending user ID (when non-zero) and of the
sending process ID (when different from the reported one) for syslog
messages arriving via Unix domain sockets. This should allow for
detection of spoofed messages.

Backported upstream fix to restrict dangerous functions in modelines.
Note that vim's modelines have always been disabled on Owl by default
(with a setting in /usr/share/vim/vimrc) and even this fix is no guarantee
modelines will be safe to use or the restricted mode safe to rely upon
in the future.
Backported upstream fix for format string vulnerability in the
helptags_one function, which allowed user-assisted remote attackers to
execute arbitrary code via format string specifiers in a help-tags tag
in a help file.
References:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-2438http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-2953

In the default kernel for x86, enabled more IDE chipset drivers, common
RAID and SATA controller drivers, USB and HID support (keyboard, mouse,
storage devices), and more. This enables our CDs to boot off SATA and
USB CD-ROM drives, in addition to IDE and SCSI ones that were supported
previously.

Configuration of console font and locales has been implemented under a
new sub-menu. Keyboard layout configuration has been moved to the same
menu. The ncurses/CDK-based user interface now uses cfdisk rather than
the traditional fdisk by default.

2006/12/30 -
2007/01/09 Owl/build/*

New make targets have been added for creating ISO-9660 images of Owl
bootable CDs. The added targets are buildkernel, installisotree, iso,
and iso.gz.

Bitslice DES code for x86 with SSE2 and x86-64 with 64-bit mode extended
SSE2 has been added for better performance at DES-based crypt(3) hashes
on Pentium 4 and SSE2-capable AMD processors. Assorted high-level
changes have been applied to improve performance on current x86-64
processors.

Many fixes and enhancements which had been postponed for after Owl 2.0
release have now been implemented. This includes directly talking to
PAM when setting the initial root password, quick searches in scroll
lists with the ncurses/CDK-based interface, progress indicators with
both user interfaces (currently, this is used for installation of kernel
headers), and manual pages for both "settle" and "setup".

Applied many minor corrections, including for better handling of certain
uncommon scenarios and improper uses of John. Added a "keyboard
cracker" to the default john.conf that will try sequences of adjacent
keys on a keyboard as passwords.