Bug 148860 - CAN-2005-0137 ia64 syscall_table DoS
CAN-2005-0137 ia64 syscall_table DoS
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 2.1
Classification: Red Hat
Component: kernel (Show other bugs)
2.1
ia64 Linux
medium Severity high
: ---
: ---
Assigned To: Jim Paradis
Brian Brock
reported=20050208,embargo=20050311,im...
: Security
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2005-02-16 08:30 EST by Mark J. Cox (Product Security)
Modified: 2013-08-05 21:12 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-04-28 11:10:12 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Mark J. Cox (Product Security) 2005-02-16 08:30:47 EST
Mike O'Connor mentioned to vendor-sec on Feb08:

        The number of entries in the syscall_table is incorrect. The
        exception handling code assumes that there are 255 entries but
        there are only 254.  If any user issues syscall number
        1024+255 (1279), the exception handler jumps to garbage, and
        voila -- instead of ENOSYS, you get a DoS.

This looks valid, arch/ia64/kernel/entry.S only contains 255 entries
(see end of file) and is missing a "data8 ia64_ni_syscall" from the end.

DoS itself not verified but should be easily reproducable.

** Currently embargoed, no date yet set. **
Comment 1 Mark J. Cox (Product Security) 2005-02-16 08:36:48 EST
Tiny test program: should print "Got ENOSYS" and not crash (not run on
a ia64 system)
 
#include <sys/syscall.h>
#include <unistd.h>
#include <errno.h>
#include <asm/errno.h>

main() {
    if (syscall(1279)) {
        if (errno == ENOSYS) {
            printf("Got ENOSYS\n");
        }
    }
}
Comment 3 Mark J. Cox (Product Security) 2005-03-16 05:44:09 EST
public removing embargo
Comment 4 Jim Paradis 2005-04-19 14:38:01 EDT
A fix for ths problem has been committed to the RHEL2.1 source pool for kernel
version 2.4.18-e.56
Comment 5 John Flanagan 2005-04-28 11:10:12 EDT
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2005-284.html

Note You need to log in before you can comment on or make changes to this bug.