涉及程序: Pserv Pserv 2.0 beta3 / beta2 / beta1 描述: Pico server 畸形 HTTP POST 请求溢出缺陷 详细: Pico server 是一款用C语言编写的小型Web服务器程序,应用在少数平台上。 Pico Server 对畸形 HTTP POST 请求不能进行正确处理,远程攻击者可利用此缓冲溢出缺陷进行拒绝服务攻击。 用户如无法确定自己的系统是否存在缺陷,可使用下面代码进行测试: bash# cat *.c | grep flow printf(\"Buffer overflow on document path parsing\\n\"); { /* checking for buffer overflow */ printf(\"Buffer overflow on POST read\\n\"); if (totalRead > BUFFER_SIZE) /* checking for buffer overflow */ printf("Buffer overflow on request read\n"); bash# Pico Server 的这个缓冲溢出缺陷存在main.c的第184行(精心构建并提交的POST数据可发生单字节溢出,导致系统产生拒绝服务): 178 reqSize = strlen(req); 179 i = 0; j = 0; 180 while (i < MAX_REQUEST_LINES && j < reqSize) 181 { 182 k = 0; 183 while (req