--ホーム--
FreeBSD Security
|
syslogdのセキュリティホールCERT Advisory CA-95:13で syslogdのセキュリティホールについて述べられています.以下のバージョン はこのセキュリティホールを含んでいると考えられています.
また,以下のバージョンでは修正されていると考えられています.
確認するためには,以下のプログラムを実行して下さい. #include <stdio.h> #include <syslog.h> static char x[6]= {'H','E','L','L','O',0}; void main() { char buf[4096]; int ct; for(ct=0; ct<4095; ct++) buf[ct]='X'; openlog("testprog",LOG_PID, LOG_AUTHPRIV); printf("Check snprintf\n"); snprintf(x,3,buf); if(x[4]!='O') fprintf(stderr,"snprintf is broken\n"); printf("Testing syslog\n"); syslog(LOG_ERR|LOG_USER,buf); closelog(); } コアを吐くか`snprintf is broken'と表示されれば大丈夫です. |