安全研究
安全漏洞
Python ImageOP模块多个整数溢出漏洞
发布日期:2007-09-17
更新日期:2007-09-18
受影响系统:
Python Software Foundation Python <= 2.5.1描述:
BUGTRAQ ID: 25696
CVE(CAN) ID: CVE-2007-4965,CVE-2008-1679
Python是一种开放源代码的脚本编程语言。
Python的imageop模块实现上存在堆溢出漏洞,本地攻击者可能利用此漏洞提升自己的权限。
Python的imageop模块的imageop.c和rbgimgmodule.c文件中存在整数溢出漏洞,最终会导致堆溢出。如果用户受骗打开了恶意的图形文件的话,就可能触发这些溢出,导致执行任意指令。有漏洞的代码段如下:
static PyObject *
imageop_tovideo(PyObject *self, PyObject *args)
{
int maxx, maxy, x, y, len;
........................
/* *************** int overflow here permit to bypass len check
******************* */
if ( maxx*maxy*width != len ) {
PyErr_SetString(ImageopError, "String has incorrect length");
return 0;
}
rv = PyString_FromStringAndSize(NULL, len);
if ( rv == 0 )
return 0;
ncp = (unsigned char *)PyString_AsString(rv);
if ( width == 1 ) {
memcpy(ncp, cp, maxx); /* Copy first line */
ncp += maxx;
/* ********** with a negativ value it's possible to bypass the code
********** */
for (y=1; y<maxy; y++) { /* Interpolate other lines */
<*来源:Slythers Bro (slythers@gmail.com)
链接:http://marc.info/?l=full-disclosure&m=118990046405321&w=2
http://www.debian.org/security/2008/dsa-1551
http://security.gentoo.org/glsa/glsa-200807-01.xml
http://www.debian.org/security/2008/dsa-1620
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
建议:
厂商补丁:
Debian
------
Debian已经为此发布了一个安全公告(DSA-1620-1)以及相应补丁:
DSA-1620-1:New python2.5 packages fix several vulnerabilities
链接:http://www.debian.org/security/2008/dsa-1620
补丁下载:
Source archives:
http://security.debian.org/pool/updates/main/p/python2.5/python2.5_2.5-5+etch1.dsc
Size/MD5 checksum: 1304 1849941ac328ba0bccc45535c5878d4d
http://security.debian.org/pool/updates/main/p/python2.5/python2.5_2.5.orig.tar.gz
Size/MD5 checksum: 11010528 2ce301134620012ad6dafb27bbcab7eb
http://security.debian.org/pool/updates/main/p/python2.5/python2.5_2.5-5+etch1.diff.gz
Size/MD5 checksum: 266589 dfbdc5caf7a95e68f68e0351228284d4
Architecture independent packages:
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-examples_2.5-5+etch1_all.deb
Size/MD5 checksum: 643494 f922c5e48339e5b535a1f23f6e061700
http://security.debian.org/pool/updates/main/p/python2.5/idle-python2.5_2.5-5+etch1_all.deb
Size/MD5 checksum: 63258 4add97730079e7894abbbca4ba5659d4
alpha architecture (DEC Alpha)
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-minimal_2.5-5+etch1_alpha.deb
Size/MD5 checksum: 849132 28c76f70110314eab90c8ea31d0da51e
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dev_2.5-5+etch1_alpha.deb
Size/MD5 checksum: 2065734 270d593f08cdd06cbe55bdb804a5dc43
http://security.debian.org/pool/updates/main/p/python2.5/python2.5_2.5-5+etch1_alpha.deb
Size/MD5 checksum: 3596900 64d12cc349030683dc125901dff56feb
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dbg_2.5-5+etch1_alpha.deb
Size/MD5 checksum: 6079808 4105398688a96f54fb7e043a3bd536d7
amd64 architecture (AMD x86_64 (AMD64))
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dbg_2.5-5+etch1_amd64.deb
Size/MD5 checksum: 6432058 b7e802bf4a19edfaddc28ebc06bed279
http://security.debian.org/pool/updates/main/p/python2.5/python2.5_2.5-5+etch1_amd64.deb
Size/MD5 checksum: 3589530 9bbd2cea36b04746fa5437d984147f99
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dev_2.5-5+etch1_amd64.deb
Size/MD5 checksum: 1806598 98bfee87311a8950462a9ab78c7d5719
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-minimal_2.5-5+etch1_amd64.deb
Size/MD5 checksum: 849650 a95eeb3b45a0a3f74e314084d581fbd6
arm architecture (ARM)
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dev_2.5-5+etch1_arm.deb
Size/MD5 checksum: 1656006 8e8d3d3b991f317384fc1646139712d4
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-minimal_2.5-5+etch1_arm.deb
Size/MD5 checksum: 781358 fbb5adac7469048405b2585475393475
http://security.debian.org/pool/updates/main/p/python2.5/python2.5_2.5-5+etch1_arm.deb
Size/MD5 checksum: 3447404 4a10cad96ef0aefc9ba916a39677b826
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dbg_2.5-5+etch1_arm.deb
Size/MD5 checksum: 6017500 f727562323c21bfb371e17ef9691f8e3
hppa architecture (HP PA RISC)
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dev_2.5-5+etch1_hppa.deb
Size/MD5 checksum: 1984570 b083e1afffe4a93dd79ae4b8a7dca474
http://security.debian.org/pool/updates/main/p/python2.5/python2.5_2.5-5+etch1_hppa.deb
Size/MD5 checksum: 3679122 cb5aa4f840a12ee13094089323f0b4f9
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-minimal_2.5-5+etch1_hppa.deb
Size/MD5 checksum: 887774 9cc756ce52e5380650ea754c4104c6ca
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dbg_2.5-5+etch1_hppa.deb
Size/MD5 checksum: 6204820 65d3c59dcb56277d838b776f0b2d5176
i386 architecture (Intel ia32)
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dbg_2.5-5+etch1_i386.deb
Size/MD5 checksum: 5989758 79d6a1ed26f230a5b092603346cd31e3
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dev_2.5-5+etch1_i386.deb
Size/MD5 checksum: 1676014 5d7353787ab562d03bb967732cd7bf46
http://security.debian.org/pool/updates/main/p/python2.5/python2.5_2.5-5+etch1_i386.deb
Size/MD5 checksum: 3445750 4b7b6629d5ee48d8413bd2ee7289726c
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-minimal_2.5-5+etch1_i386.deb
Size/MD5 checksum: 784320 f49d7ccf7cb106d200559169c4c013f2
ia64 architecture (Intel ia64)
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-minimal_2.5-5+etch1_ia64.deb
Size/MD5 checksum: 1176036 fbc3971fbbcc8a37b2feec8570a4fa34
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dbg_2.5-5+etch1_ia64.deb
Size/MD5 checksum: 6966656 ca0fe43224b9f329afac2673379ad958
http://security.debian.org/pool/updates/main/p/python2.5/python2.5_2.5-5+etch1_ia64.deb
Size/MD5 checksum: 4037758 3be3cf7835a7e69b3189025edcdca799
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dev_2.5-5+etch1_ia64.deb
Size/MD5 checksum: 2477104 a5cafad9926f58504c44f980d490d979
mips architecture (MIPS (Big Endian))
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-minimal_2.5-5+etch1_mips.deb
Size/MD5 checksum: 819064 263a7a9496d171874461654ecc7db26f
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dev_2.5-5+etch1_mips.deb
Size/MD5 checksum: 1907220 2175a2f625925e95be148d62f279c210
http://security.debian.org/pool/updates/main/p/python2.5/python2.5_2.5-5+etch1_mips.deb
Size/MD5 checksum: 3525088 a257c17981d12f9f0eb0a86fde85ca71
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dbg_2.5-5+etch1_mips.deb
Size/MD5 checksum: 6507214 8306549937264c9f1cf57288ae7e738b
mipsel architecture (MIPS (Little Endian))
http://security.debian.org/pool/updates/main/p/python2.5/python2.5_2.5-5+etch1_mipsel.deb
Size/MD5 checksum: 3456110 1a7675c9de9abd3671786d36d3ea263f
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-minimal_2.5-5+etch1_mipsel.deb
Size/MD5 checksum: 817730 1a656308b4c158a6d0594f08132f8e16
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dbg_2.5-5+etch1_mipsel.deb
Size/MD5 checksum: 6336980 a01b93c916c6c658747effa637bbb58d
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dev_2.5-5+etch1_mipsel.deb
Size/MD5 checksum: 1896534 b2b39e4d4e79b6afa13b24beccc5ab7c
powerpc architecture (PowerPC)
http://security.debian.org/pool/updates/main/p/python2.5/python2.5_2.5-5+etch1_powerpc.deb
Size/MD5 checksum: 3590820 f419e6c0b439e8391ce118a22f66179e
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-minimal_2.5-5+etch1_powerpc.deb
Size/MD5 checksum: 843170 ae9e553f9c5e278f42bb6bc2bef215aa
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dbg_2.5-5+etch1_powerpc.deb
Size/MD5 checksum: 6648508 512e75472dcb919d7987472f7ea1c57c
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dev_2.5-5+etch1_powerpc.deb
Size/MD5 checksum: 1809928 1f43ae54d0b5836abbbfc59083d60bb4
s390 architecture (IBM S/390)
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-minimal_2.5-5+etch1_s390.deb
Size/MD5 checksum: 841474 9e0a8a5eaf9100fb03caa3ac77aa2d63
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dev_2.5-5+etch1_s390.deb
Size/MD5 checksum: 1816794 a718f4d0c010ca9686068e0bbd8ec919
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dbg_2.5-5+etch1_s390.deb
Size/MD5 checksum: 6535426 4aa0738ecf30b99614440f134a2096fb
http://security.debian.org/pool/updates/main/p/python2.5/python2.5_2.5-5+etch1_s390.deb
Size/MD5 checksum: 3614770 6fdb0e38779312a7a66d57e373c38a38
sparc architecture (Sun SPARC/UltraSPARC)
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dev_2.5-5+etch1_sparc.deb
Size/MD5 checksum: 1759842 5897eefdb79bfeb3cc470959e04dcb7c
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-dbg_2.5-5+etch1_sparc.deb
Size/MD5 checksum: 5995652 13848fd47c5a9047172d246c12dee03e
http://security.debian.org/pool/updates/main/p/python2.5/python2.5_2.5-5+etch1_sparc.deb
Size/MD5 checksum: 3493896 d327f5fc4dbd282db977eade02c9b7eb
http://security.debian.org/pool/updates/main/p/python2.5/python2.5-minimal_2.5-5+etch1_sparc.deb
Size/MD5 checksum: 778284 bd2ad97592529526e7c08862baf28cdc
补丁安装方法:
1. 手工安装补丁包:
首先,使用下面的命令来下载补丁软件:
# wget url (url是补丁下载链接地址)
然后,使用下面的命令来安装补丁:
# dpkg -i file.deb (file是相应的补丁名)
2. 使用apt-get自动安装补丁包:
首先,使用下面的命令更新内部数据库:
# apt-get update
然后,使用下面的命令安装更新软件包:
# apt-get upgrade
Python Software Foundation
--------------------------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.python.org/
Gentoo
------
Gentoo已经为此发布了一个安全公告(GLSA-200807-01)以及相应补丁:
GLSA-200807-01:Python: Multiple integer overflows
链接:http://security.gentoo.org/glsa/glsa-200807-01.xml
所有Python 2.3用户都应升级到最新版本:
# emerge --sync
# emerge --ask --oneshot --verbose ">=3Ddev-lang/python-2.3.6-r6"
所有Python 2.4用户都应升级到最新版本:
# emerge --sync
# emerge --ask --oneshot --verbose ">=3Ddev-lang/python-2.4.4-r13"
浏览次数:4321
严重程度:0(网友投票)
绿盟科技给您安全的保障
