GNU Screen转义序列缓冲区溢出漏洞 CVE-2003-0972 CNNVD-200312-037

10.0 AV AC AU C I A
发布: 2003-12-15
修订: 2016-10-18

Screen是一款免费开放源代码的终端管理软件,由Free Software Foundation分发和维护,可使用在多种Unix和Linux操作系统下。 Screen不正确处理转义序列字符,本地或者远程攻击者可以利用这个漏洞进行缓冲区溢出攻击,精心构建提交数据可能以进程权限在系统上执行任意指令。 问题存在于ansi.c代码中: ansi.c: case \'\'0\'\': case \'\'1\'\': case \'\'2\'\': case \'\'3\'\': case \'\'4\'\': case \'\'5\'\': case \'\'6\'\': case \'\'7\'\': case \'\'8\'\': case \'\'9\'\': if (curr->w_NumArgs < MAXARGS) { if (curr->w_args[curr->w_NumArgs] < 100000000) curr->w_args[curr->w_NumArgs] = 10 * curr->w_args[curr->w_NumArgs] + (c - \'\'0\'\'); } break; case \'\';\'\': case \'\':\'\': curr->w_NumArgs++; break; w_NumArgs是一个符号整数,在转义字符中发送2GB\'\';\'\'字符,会引起内部变量变为负值,这样就使能成功绕过< MAXARGS的保护检查,而后续的采用此负值的操作可导致破坏内存信息,可能以进程权限在系统上执行任意指令。 由于转义序列可源自使用SSH,telnet,或其他网络工具的远程网络会话,因此此漏洞也可能被远程利用。

0%
暂无可用Exp或PoC
当前有8条受影响产品信息