Exim是一款开放源代码邮件客户端。 Exim中的daemon_go()函数对提交的参数缺少正确检查,本地攻击者可以利用这个漏洞提交恶意参数进行格式字符串攻击,以root用户权限在系统上执行任意指令。 在daemon.c,976行的daemon_go()函数中存在一个格式字符串漏洞: sprintf(CS buff, CS pid_file_path, \"\"); /* Backward compatibility */ pid_file_path可以在命令行中由用户输入,如果攻击者提交包含恶意格式串的参数,就可以导致覆盖内存任意地址而以root用户权限执行任意指令。 不过这个函数只有用户是exim-admin-user时才会被执行,而且要\'\'exim-admin-user\'\'必须在exim编译阶段指定。
Exim是一款开放源代码邮件客户端。 Exim中的daemon_go()函数对提交的参数缺少正确检查,本地攻击者可以利用这个漏洞提交恶意参数进行格式字符串攻击,以root用户权限在系统上执行任意指令。 在daemon.c,976行的daemon_go()函数中存在一个格式字符串漏洞: sprintf(CS buff, CS pid_file_path, \"\"); /* Backward compatibility */ pid_file_path可以在命令行中由用户输入,如果攻击者提交包含恶意格式串的参数,就可以导致覆盖内存任意地址而以root用户权限执行任意指令。 不过这个函数只有用户是exim-admin-user时才会被执行,而且要\'\'exim-admin-user\'\'必须在exim编译阶段指定。