CVE:CVE-2007-0650
CNNVD:CNNVD-200702-002
teTeX是Linux上最常用的编辑器之一，几乎所有的Linux发行版都内置的这个软件。
teTeX在处理超长的路径名参数时存在缓冲区溢出漏洞，本地攻击者可能利用此漏洞提升自己的权限。
teTeX的mkind.c文件中的open_sty函数没有正确验证用户通过"-s"选项提供的参数数据：
150                         /* style file */
151                     case 's':
152                         argc--;
153                         if (argc <= 0)
154                             FATAL("Expected -s <stylefile>\n","");
155                         open_sty(*++argv);
156                         sty_given = TRUE;
157                         break;
sty_fn仅为72个字符，请见mkindex.h：
56 char    sty_fn[LINE_MAX];
 (gdb) print LINE_MAX
$2 = 72
 (gdb)
这允许恶意攻击者覆盖sty_fn[]缓冲区后的任意数据，导致执行任意指令。
 此外mkind.c文件中的check_idx函数中还存在堆溢出漏洞，但由于无法控制覆盖地址，因此基本不可利用。
solution:Upgrade makeindex makeindex to a higher version than 2.14,and avoid the version 2.14