You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In functions uev_run, the variable ee is declared to be an array of struct epoll_event with size UEV_MAX_EVENTS. This buffer is used in a call to epoll_wait with its maxevent parameter set to ctx->maxevents.
It may be that the intent is that ctx->maxevents can not be bigger than UEV_MAX_EVENTS, but this is not enforced in uev_init1. Therefore, with the default UEV_MAX_EVENTS set to 10, I could use uev_init1 to set the ctx->maxevents to 20, and then the ee buffer be overrun in the call to epoll_wait.
Of course, it is unlikely that so many events will occur simultaneously, so in real-life this vulnerability is very unlikely to occur. Nevertheless, I thought you might want to be aware.
The text was updated successfully, but these errors were encountered:
In functions
uev_run
, the variableee
is declared to be an array ofstruct epoll_event
with sizeUEV_MAX_EVENTS
. This buffer is used in a call toepoll_wait
with itsmaxevent
parameter set toctx->maxevents
.It may be that the intent is that ctx->maxevents can not be bigger than
UEV_MAX_EVENTS
, but this is not enforced inuev_init1
. Therefore, with the defaultUEV_MAX_EVENTS
set to 10, I could useuev_init1
to set thectx->maxevents
to 20, and then theee
buffer be overrun in the call toepoll_wait
.Of course, it is unlikely that so many events will occur simultaneously, so in real-life this vulnerability is very unlikely to occur. Nevertheless, I thought you might want to be aware.
The text was updated successfully, but these errors were encountered: