OpenBSD Security Advisory: Select Boundary Condition

2002-08-13T00:00:00
ID SECURITYVULNS:DOC:3351
Type securityvulns
Reporter Securityvulns
Modified 2002-08-13T00:00:00

Description

OpenBSD Security Advisory (adv.select) Original Release Date: 2002-08-11

  1. Systems affected:

    All versions of OpenBSD.
    
  2. Overview:

    Insufficient boundary checks in the select call allow an
    attacker to overwrite kernel memory and execute arbitrary code
    in kernel context.
    
    Traditionally, the size parameter for the select system call
    is a signed integer.  As a result, the kernel evaluates the
    upper boundary checks in a signed context, so that an attacker
    can circumvent when using certain negative values.
    
    When the kernel copies the data for the select system call
    from userland the size is used as an unsigned integer which
    causes kernel memory to be overwritten with arbitrary data.
    
  3. Impact:

    Local users can obtain complete system privileges and
    circumvent the extra security measures provided by the
    securelevel system.
    
  4. Solution:

    Apply one of the supplied kernel patches or update to
    3.0-stable or 3.1-stable from 2002-08-11 17:00 EDT or later.
    
  5. Patch:

    ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.1/common/014_scarg.patch