Python zlib模块远程溢出漏洞 CVE-2008-1679 CNNVD-200804-317

6.8 AV AC AU C I A
发布: 2008-04-22
修订: 2023-08-02

Python是一种开放源代码的脚本编程语言。 Python的zlib扩展模块中用于flush解压流的方式获取一个输入参数来确定应flush多少数据。这个参数是一个有符型整数,没有经过过滤检查,因此如果传送了负值的话就会导致错误的内存分配,然后有符型整数会被转换为无符整数,触发缓冲区溢出。 Python-2.5.2/Modules/zlibmodule.c: 761 PyDoc_STRVAR(decomp_flush__doc__, 762 \"flush( [length] ) -- Return a string containing any remaining\n\" 763 \"decompressed data. length, if given, is the initial size of the\n\" 764 \"output buffer.\n\" 765 \"\n\" 766 \"The decompressor object can no longer be used after this call.\"); 767 768 static PyObject * 769 PyZlib_unflush(compobject *self, PyObject *args) 770 { 771 int err, length = DEFAULTALLOC; 772 PyObject * retval = NULL; 773 unsigned long start_total_out; 774 775 if (!PyArg_ParseTuple(args, \"|i:flush\", &length)) 776 return NULL; 777 if (!(retval = PyString_FromStringAndSize(NULL, length))) 778 return NULL; 779 780 781 ENTER_ZLIB 782 783 start_total_out = self->zst.total_out; 784 self->zst.avail_out = length; 785 self->zst.next_out = (Byte *)PyString_AS_STRING(retval); 786 787...

0%
当前有3条漏洞利用/PoC
当前有3条受影响产品信息