RedHat: UPDATE: 'at' Heap corruption vulnerability
Posted by Team   
RedHat Linux This updated at package fixes two minor problems and one majorproblem where the environment can get wiped out prior to the execution of ascheduled command.

                   Red Hat, Inc. Red Hat Security Advisory

Synopsis:          Updated at package available
Advisory ID:       RHSA-2002:015-15
Issue date:        2002-01-15
Updated on:        2002-02-07
Product:           Red Hat Linux
Keywords:          at security heap corruption environment
Cross references:  

1. Topic:

This updated at package fixes two minor problems and one major
problem where the environment can get wiped out prior to the execution of a
scheduled command.

For versions of Red Hat Linux prior to 7.2, this package also fixes a
potential security vulnerability which can result in heap corruption (Red
Hat Linux 7.2 is not vulnerable to this security exploit).

Update 2002-02-01: The package for Red Hat Linux 6.2 tried to source a file
in /etc/init.d, which doesn't exist on a standard system.

2. Relevant releases/architectures:

Red Hat Linux 6.2 - alpha, i386, sparc

Red Hat Linux 7.0 - alpha, i386

Red Hat Linux 7.1 - alpha, i386, ia64

Red Hat Linux 7.2 - i386, ia64

3. Problem description:

A server running the latest version of at could have commands 
that depend on the current environment (for example, the PATH) which would
then fail or run incorrectly because the environment would not be
accessible when the command was executed at a later time.

Additionally, in versions of Red Hat Linux prior to 7.2 a malicious local
user could specify an execution time is in a carefully drafted format
causing a heap corruption bug.  Since the at command is installed as setuid
root this bug can be exploited.

The Common Vulnerabilities  and Exposures project ( has
assigned the name CAN-2002-0004 to this issue.  Thanks to zen-parse for
reporting this vulnerability.

In addition to the fixed heap corruption, file handling security on all
versions of at has been improved by adding the O_EXCL (exclusive) option to
an open system call.

4. Solution:

Before applying this update, make sure all previously released errata
relevant to your system have been applied.

To update all RPMs for your particular architecture, run:

rpm -Fvh [filenames]

where [filenames] is a list of the RPMs you wish to upgrade.  Only those
RPMs which are currently installed will be updated.  Those RPMs which are
not installed but included in the list will not be updated.  Note that you
can also use wildcards (*.rpm) if your current directory *only* contains
the desired RPMs.

Please note that this update is also available via Red Hat Network.  Many
people find this an easier way to apply updates.  To use Red Hat Network,
launch the Red Hat Update Agent with the following command:


This will start an interactive process that will result in the appropriate
RPMs being upgraded on your system.

5. Bug IDs fixed  (http://bugzilla.Red for more info):

49491 - all environment is wiped out prior to executing user command
51253 - Wrong pointer to time syntax in man page
52626 - "at" RPM says that /var/spool/at/.SEQ should be executable

6. RPMs required:

Red Hat Linux 6.2:





Red Hat Linux 7.0:




Red Hat Linux 7.1:





Red Hat Linux 7.2:




7. Verification:

MD5 sum                          Package Name
beab8c80838d3920d758a2e8e5b5e3b2 6.2/en/os/SRPMS/at-3.1.8-22.2.src.rpm
31a1aac9c620778fe24a5d9c73b468c6 6.2/en/os/alpha/at-3.1.8-22.2.alpha.rpm
a5ea88124398a0b937dd93e93d62c3bd 6.2/en/os/i386/at-3.1.8-22.2.i386.rpm
3ee8b5c53f23d0eae9bd78c69621ff78 6.2/en/os/sparc/at-3.1.8-22.2.sparc.rpm
b1f62f4b41e12a54a1f73d639363a638 7.0/en/os/SRPMS/at-3.1.8-23.src.rpm
97e27a1d2dc0f08d8f118209a891689a 7.0/en/os/alpha/at-3.1.8-23.alpha.rpm
ea793fd803f10c8fa66abb8191fefb9b 7.0/en/os/i386/at-3.1.8-23.i386.rpm
b1f62f4b41e12a54a1f73d639363a638 7.1/en/os/SRPMS/at-3.1.8-23.src.rpm
97e27a1d2dc0f08d8f118209a891689a 7.1/en/os/alpha/at-3.1.8-23.alpha.rpm
ea793fd803f10c8fa66abb8191fefb9b 7.1/en/os/i386/at-3.1.8-23.i386.rpm
8fed88d53824e98f509289c42ea01237 7.1/en/os/ia64/at-3.1.8-23.ia64.rpm
b1f62f4b41e12a54a1f73d639363a638 7.2/en/os/SRPMS/at-3.1.8-23.src.rpm
ea793fd803f10c8fa66abb8191fefb9b 7.2/en/os/i386/at-3.1.8-23.i386.rpm
8fed88d53824e98f509289c42ea01237 7.2/en/os/ia64/at-3.1.8-23.ia64.rpm

These packages are GPG signed by Red Hat, Inc. for security.  Our key
is available at:

You can verify each package with the following command:
    rpm --checksig  

If you only wish to verify that each package has not been corrupted or
tampered with, examine only the md5sum with the following command:
    rpm --checksig --nogpg 

8. References:

Copyright(c) 2000, 2001 Red Hat, Inc.