FreeBSD Security Advisory FreeBSD-SA-02:38.signed-error

From: FreeBSD Security Advisories (
Date: 08/19/02

Date: Mon, 19 Aug 2002 05:56:23 -0700 (PDT)
From: FreeBSD Security Advisories <>
To: FreeBSD Security Advisories <>


FreeBSD-SA-02:38.signed-error Security Advisory
                                                          The FreeBSD Project

Topic: Boundary checking errors involving signed integers

Category: core
Module: sys
Announced: 2002-08-19
Credits: Silvio Cesare <>
Affects: All releases of FreeBSD up to and including 4.6.1-RELEASE-p10
Corrected: 2002-08-13 02:42:32 UTC (RELENG_4)
                2002-08-13 12:12:36 UTC (RELENG_4_6)
                2002-08-13 12:13:05 UTC (RELENG_4_5)
                2002-08-13 12:13:49 UTC (RELENG_4_4)
FreeBSD only: YES

I. Background

The issue described in this advisory affects the accept(2),
getsockname(2), and getpeername(2) system calls, and the vesa(4)

II. Problem Description

A few system calls were identified that contained assumptions that
a given argument was always a positive integer, while in fact the
argument was handled as a signed integer. As a result, the boundary
checking code would fail if the system call were entered with a
negative argument.

III. Impact

The affected system calls could be called with large negative
arguments, causing the kernel to return a large portion of kernel
memory. Such memory might contain sensitive information, such as
portions of the file cache or terminal buffers. This information
might be directly useful, or it might be leveraged to obtain elevated
privileges in some way. For example, a terminal buffer might include
a user-entered password.

IV. Workaround


V. Solution

1) Upgrade your vulnerable system to 4.6.2-RELEASE or 4.6-STABLE;
or to any of the RELENG_4_6 (4.6.1-RELEASE-p11), RELENG_4_5
(4.5-RELEASE-p19), or RELENG_4_4 (4.4-RELEASE-p26) security branches
dated after the respective correction dates.

2) To patch your present system:

a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility. The following patch
has been tested to apply to all FreeBSD 4.x releases.

# fetch
# fetch

b) Apply the patch.

# cd /usr/src
# patch < /path/to/patch

c) Recompile your kernel as described in
and reboot the system.

VI. Correction details

The following list contains the revision numbers of each file that was
corrected in FreeBSD.

Path Revision
- -------------------------------------------------------------------------
- -------------------------------------------------------------------------

Version: GnuPG v1.0.7 (FreeBSD)


To Unsubscribe: send mail to
with "unsubscribe freebsd-security" in the body of the message