COMMAND

    Oracle

SYSTEMS AFFECTED

    Oracle 8i (Standard and Enterprise) 8.1.5, 8.1.6, 8.1.7 and previous

PROBLEM

    Following  is   based  on   a  COVERT   Labs  Security    Advisory
    COVERT-2001-03.  A vulnerability  in the Oracle implementation  of
    the  TNS  (Transparent  Network  Substrate)  over  Net8   (SQLNet)
    protocol allows a remote user to mount a denial of service  attack
    against  any  Oracle  service  that  relies  upon  the   protocol,
    including  the  TNS  Listener,  Oracle  Name  Service  and  Oracle
    Connections Manager.

    Oracle 8i database  platform relies on  multiple services for  its
    distributed client server computing functionality.  Services  that
    are dependant upon the TNS  include the TNS Listener, Oracle  Name
    Service and the Oracle Connections Manager.  These servers  accept
    client requests  and establish  TNS data  connections between  the
    clients  and  the  services.   TNS  connections  allow clients and
    services  to  communicate  over  a  network  via  a  common   API,
    regardless of the  network transport protocol  used on either  end
    (TCP/IP, IPX, etc).   Foundation of the  TNS is the  session layer
    protocol Net8 (SQLNet).

    The services  reliant upon  the TNS  protocol are  critical to  an
    Oracle database environment.  The TNS Listener is responsible  for
    maintaining remote communications  with Oracle database  services,
    the Oracle Names Service implements database names resolution  and
    Oracle Connections Manager is responsible for managing connections
    to the  database services.   In a  default installation,  the  TNS
    Listener resides on TCP port 1521, Names Service on TCP port  1575
    and Connections Manager on  TCP ports 1630 (gateway  services) and
    1830 (administration services).

    A vulnerability  exists in  the TNS  libraries which  process Net8
    (SQLNet) packets.  This  vulnerability will enable an  attacker to
    mount a denial of service attack against any of the above services
    by issuing a malformed SQLNet connection request.

    A Net8 (SQLNet) connection is made by the client sending an SQLNet
    packet of Type-1 (NSPTCN) to the service, requesting a connection.
    SQLNet packets contain a  general header and type  specific header
    extensions.   A  Type-1  packet  contains  two  fields in the type
    specific header extensions that specify the offset and the  length
    of the connection  data within the  packet.  These  two fields are
    inadequately verified, thus by  specifying an offset which  points
    to data beyond the  length of the packet,  a memory read error  is
    triggered, leading to service termination.

    The  vulnerability  occurs  in  an  early  stage  of  the   packet
    processing,  before  any  authentication  or  verification  of the
    content takes place.   This allows for unlogable,  unauthenticated
    remote denial of service attacks.

    These  vulnerabilities  were  discovered  and documented by Nishad
    Herath of the COVERT Labs at PGP Security.

SOLUTION

    Oracle has  produced a  patch under  bug number  1656431 which  is
    available for download from the Oracle Worldwide Support  Services
    web site for the platforms identified.  The patch is in production
    for all supported releases of the Oracle Database Server.