glibc 2.1.3版本以下存在一个format string vuln问题 by alert7@netguard.com.cn 2001-10-1x 在glibc 2.1.3版本 (包含2.1.3)以下dbg_log.c中dbg_log函数调用syslog时候存在一个 format string vul问题。具体如下: void dbg_log (const char *fmt,...) { va_list ap; char msg[512], msg2[512]; va_start (ap, fmt); vsnprintf (msg2, sizeof (msg), fmt, ap); if (debug_level > 0) { snprintf (msg, sizeof (msg), "%d: %s\n", getpid (), msg2); if (dbgout) { fputs (msg, dbgout); fflush (dbgout); } else fputs (msg, stderr); } else { snprintf (msg, sizeof (msg), "%d: %s", getpid (), msg2); syslog (LOG_NOTICE, msg);//就是此处 } va_end (ap); } 暂时还不知道具体如何使用这个漏洞。 没有时间折腾:( 解决办法: syslog (LOG_NOTICE, msg);改为syslog (LOG_NOTICE, "%s",msg); 或者升级glibc到最新版本