Apple Common Unix Printing System(CUPS)是美国苹果(Apple)公司的一套开源的用于OS X和类Unix系统的打印系统。该系统基于Internet打印协议(IPP),提供大多数PostScript和raster打印机服务。 CUPS的HTTP服务组件存在整数缓冲区溢出,远程攻击者可以利用这个漏洞以用户\'\'lp\'\'和\'\'sys\'\'组权限在系统上执行任意指令。 http组件包含cgi-bin/var.c文件,其中有如下变量: var = form_vars + form_count; var->name = strdup(name); var->nvalues = element + 1; var->avalues = element + 1; var->values = calloc(element + 1, sizeof(char *)); var->values[element] = strdup(value); 由于攻击者可以控制element和value,因此可以覆盖调用函数的堆栈地址而执行任意指令。成功利用这个漏洞可以获得用户\'\'lp\'\'和\'\'sys\'\'组的权限。
Apple Common Unix Printing System(CUPS)是美国苹果(Apple)公司的一套开源的用于OS X和类Unix系统的打印系统。该系统基于Internet打印协议(IPP),提供大多数PostScript和raster打印机服务。 CUPS的HTTP服务组件存在整数缓冲区溢出,远程攻击者可以利用这个漏洞以用户\'\'lp\'\'和\'\'sys\'\'组权限在系统上执行任意指令。 http组件包含cgi-bin/var.c文件,其中有如下变量: var = form_vars + form_count; var->name = strdup(name); var->nvalues = element + 1; var->avalues = element + 1; var->values = calloc(element + 1, sizeof(char *)); var->values[element] = strdup(value); 由于攻击者可以控制element和value,因此可以覆盖调用函数的堆栈地址而执行任意指令。成功利用这个漏洞可以获得用户\'\'lp\'\'和\'\'sys\'\'组的权限。