[egenix-users] buffer overflow with help(mx.DateTime) on RHEL6 (x86_64) - egenix-mx-base-3.2.1

Antoine Gymglish antoine+egenix at gymglish.com
Thu Dec 15 16:57:51 CET 2011


Hello,

I think there is a bug in mx.DateTime for egenix-mx-base-3.2.1, that
kills python when triggered:


help(mx.DateTime) kills python on Centos6 (RHEL 6 clone): *** buffer
overflow detected ***: python terminated


How to reproduce from a clean installation (tested on multiple computers):

wget http://downloads.egenix.com/python/egenix-mx-base-3.2.1.tar.gz
tar xvfz egenix-mx-base-3.2.1.tar.gz
cd egenix-mx-base-3.2.1
python setup.py install --home=/home/admin/
export PYTHONPATH=/home/admin/lib64/python
python

Python 2.6.6 (r266:84292, Jul 20 2011, 10:22:43)
[GCC 4.4.5 20110214 (Red Hat 4.4.5-6)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mx.DateTime
>>> help(mx.DateTime)
*** buffer overflow detected ***: python terminated
======= Backtrace: =========
/lib64/libc.so.6(__fortify_fail+0x37)[0x7f5901be1397]
/lib64/libc.so.6(+0xfd280)[0x7f5901bdf280]
/lib64/libc.so.6(+0xfc6d9)[0x7f5901bde6d9]
/lib64/libc.so.6(_IO_default_xsputn+0xc9)[0x7f5901b55919]
/lib64/libc.so.6(_IO_vfprintf+0x5fb)[0x7f5901b2636b]
/lib64/libc.so.6(__vsprintf_chk+0x9d)[0x7f5901bde77d]
/lib64/libc.so.6(__sprintf_chk+0x7f)[0x7f5901bde6bf]
/home/admin/lib64/python/mx/DateTime/mxDateTime/mxDateTime.so(+0x7e7b)[0x7f58fb3dee7b]
/usr/lib64/libpython2.6.so.1.0(PyObject_Repr+0x45)[0x7f590279cf05]
/usr/lib64/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x55a0)[0x7f59027f69f0]
/usr/lib64/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x63ef)[0x7f59027f783f]
======= Memory map: ========
00400000-00401000 r-xp 00000000 08:02 9044917
  /usr/bin/python
00600000-00601000 rw-p 00000000 08:02 9044917
  /usr/bin/python
0259a000-027f8000 rw-p 00000000 00:00 0                                  [heap]
7f58f7dad000-7f58f7dc3000 r-xp 00000000 08:02 4718904
  /lib64/libgcc_s-4.4.5-20110214.so.1
7f58f7dc3000-7f58f7fc2000 ---p 00016000 08:02 4718904
  /lib64/libgcc_s-4.4.5-20110214.so.1
7f58f7fc2000-7f58f7fc3000 rw-p 00015000 08:02 4718904
  /lib64/libgcc_s-4.4.5-20110214.so.1
7f58f7fc3000-7f58f7fcf000 r-xp 00000000 08:02 4718751
  /lib64/libnss_files-2.12.so
7f58f7fcf000-7f58f81cf000 ---p 0000c000 08:02 4718751
  /lib64/libnss_files-2.12.so
7f58f81cf000-7f58f81d0000 r--p 0000c000 08:02 4718751
  /lib64/libnss_files-2.12.so
7f58f81d0000-7f58f81d1000 rw-p 0000d000 08:02 4718751
  /lib64/libnss_files-2.12.so
7f58f81d1000-7f58f81d5000 r-xp 00000000 08:02 9044851
  /usr/lib64/python2.6/lib-dynload/selectmodule.so
7f58f81d5000-7f58f83d5000 ---p 00004000 08:02 9044851
  /usr/lib64/python2.6/lib-dynload/selectmodule.so
7f58f83d5000-7f58f83d7000 rw-p 00004000 08:02 9044851
  /usr/lib64/python2.6/lib-dynload/selectmodule.so
7f58f83d7000-7f58f83db000 r-xp 00000000 08:02 9064226
  /usr/lib64/python2.6/lib-dynload/cStringIO.so
7f58f83db000-7f58f85da000 ---p 00004000 08:02 9064226
  /usr/lib64/python2.6/lib-dynload/cStringIO.so
7f58f85da000-7f58f85dc000 rw-p 00003000 08:02 9064226
  /usr/lib64/python2.6/lib-dynload/cStringIO.so
7f58f85dc000-7f58f85f9000 r-xp 00000000 08:02 4718919
  /lib64/libselinux.so.1
7f58f85f9000-7f58f87f8000 ---p 0001d000 08:02 4718919
  /lib64/libselinux.so.1
7f58f87f8000-7f58f87f9000 r--p 0001c000 08:02 4718919
  /lib64/libselinux.so.1
7f58f87f9000-7f58f87fa000 rw-p 0001d000 08:02 4718919
  /lib64/libselinux.so.1
7f58f87fa000-7f58f87fb000 rw-p 00000000 00:00 0
7f58f87fb000-7f58f8811000 r-xp 00000000 08:02 4718856
  /lib64/libresolv-2.12.so
7f58f8811000-7f58f8a10000 ---p 00016000 08:02 4718856
  /lib64/libresolv-2.12.so
7f58f8a10000-7f58f8a11000 r--p 00015000 08:02 4718856
  /lib64/libresolv-2.12.so
7f58f8a11000-7f58f8a12000 rw-p 00016000 08:02 4718856
  /lib64/libresolv-2.12.so
7f58f8a12000-7f58f8a14000 rw-p 00000000 00:00 0
7f58f8a14000-7f58f8a16000 r-xp 00000000 08:02 4718877
  /lib64/libkeyutils.so.1.3
7f58f8a16000-7f58f8c15000 ---p 00002000 08:02 4718877
  /lib64/libkeyutils.so.1.3
7f58f8c15000-7f58f8c16000 rw-p 00001000 08:02 4718877
  /lib64/libkeyutils.so.1.3
7f58f8c16000-7f58f8c20000 r-xp 00000000 08:02 4718779
  /lib64/libkrb5support.so.0.1
7f58f8c20000-7f58f8e1f000 ---p 0000a000 08:02 4718779
  /lib64/libkrb5support.so.0.1
7f58f8e1f000-7f58f8e20000 rw-p 00009000 08:02 4718779
  /lib64/libkrb5support.so.0.1
7f58f8e20000-7f58f8e35000 r-xp 00000000 08:02 4718869
  /lib64/libz.so.1.2.3
7f58f8e35000-7f58f9034000 ---p 00015000 08:02 4718869
  /lib64/libz.so.1.2.3
7f58f9034000-7f58f9035000 rw-p 00014000 08:02 4718869
  /lib64/libz.so.1.2.3
7f58f9035000-7f58f905f000 r-xp 00000000 08:02 4718700
  /lib64/libk5crypto.so.3.1
7f58f905f000-7f58f925f000 ---p 0002a000 08:02 4718700
  /lib64/libk5crypto.so.3.1
7f58f925f000-7f58f9261000 rw-p 0002a000 08:02 4718700
  /lib64/libk5crypto.so.3.1
7f58f9261000-7f58f9264000 r-xp 00000000 08:02 4718739
  /lib64/libcom_err.so.2.1
7f58f9264000-7f58f9463000 ---p 00003000 08:02 4718739
  /lib64/libcom_err.so.2.1
7f58f9463000-7f58f9464000 rw-p 00002000 08:02 4718739
  /lib64/libcom_err.so.2.1
7f58f9464000-7f58f9538000 r-xp 00000000 08:02 4718874
  /lib64/libkrb5.so.3.3
7f58f9538000-7f58f9738000 ---p 000d4000 08:02 4718874
  /lib64/libkrb5.so.3.3
7f58f9738000-7f58f9743000 rw-p 000d4000 08:02 4718874
  /lib64/libkrb5.so.3.3
7f58f9743000-7f58f9782000 r-xp 00000000 08:02 4718606
  /lib64/libgssapi_krb5.so.2.2
7f58f9782000-7f58f9981000 ---p 0003f000 08:02 4718606
  /lib64/libgssapi_krb5.so.2.2
7f58f9981000-7f58f9984000 rw-p 0003e000 08:02 4718606
  /lib64/libgssapi_krb5.so.2.2
7f58f9984000-7f58f9af4000 r-xp 00000000 08:02 9046550
  /usr/lib64/libcrypto.so.1.0.0
7f58f9af4000-7f58f9cf4000 ---p 00170000 08:02 9046550
  /usr/lib64/libcrypto.so.1.0.0
7f58f9cf4000-7f58f9d16000 rw-p 00170000 08:02 9046550
  /usr/lib64/libcrypto.so.1.0.0
7f58f9d16000-7f58f9d1a000 rw-p 00000000 00:00 0
7f58f9d1a000-7f58f9d6d000 r-xp 00000000 08:02 9046141
  /usr/lib64/libssl.so.1.0.0
7f58f9d6d000-7f58f9f6c000 ---p 00053000 08:02 9046141
  /usr/lib64/libssl.so.1.0.0
7f58f9f6c000-7f58f9f74000 rw-p 00052000 08:02 9046141
  /usr/lib64/libssl.so.1.0.0
7f58f9f74000-7f58f9f7b000 r-xp 00000000 08:02 9064219
  /usr/lib64/python2.6/lib-dynload/_ssl.so
7f58f9f7b000-7f58fa17a000 ---p 00007000 08:02 9064219
  /usr/lib64/python2.6/lib-dynload/_ssl.so
7f58fa17a000-7f58fa17c000 rw-p 00006000 08:02 9064219
  /usr/lib64/python2.6/lib-dynload/_ssl.so
7f58fa17c000-7f58fa187000 r-xp 00000000 08:02 9064217
  /usr/lib64/python2.6/lib-dynload/_socketmodule.so
7f58fa187000-7f58fa387000 ---p 0000b000 08:02 9064217
  /usr/lib64/python2.6/lib-dynload/_socketmodule.so
7f58fa387000-7f58fa38b000 rw-p 0000b000 08:02 9064217
  /usr/lib64/python2.6/lib-dynload/_socketmodule.so
7f58fa38b000-7f58fa395000 r-xp 00000000 08:02 9044868
  /usr/lib64/python2.6/lib-dynload/itertoolsmodule.so
7f58fa395000-7f58fa594000 ---p 0000a000 08:02 9044868
  /usr/lib64/python2.6/lib-dynload/itertoolsmodule.so
7f58fa594000-7f58fa598000 rw-p 00009000 08:02 9044868
  /usr/lib64/python2.6/lib-dynload/itertoolsmodule.so
7f58fa598000-7f58fa59e000 r-xp 00000000 08:02 9044812
  /usr/lib64/python2.6/lib-dynload/_collectionsmodule.so
7f58fa59e000-7f58fa79d000 ---p 00006000 08:02 9044812
  /usr/lib64/python2.6/lib-dynload/_collectionsmodule.so
7f58fa79d000-7f58fa79f000 rw-p 00005000 08:02 9044812
  /usr/lib64/python2.6/lib-dynload/_collectionsmodule.so
7f58fa79f000-7f58fa7a7000 r-xp 00000000 08:02 9044873
  /usr/lib64/python2.6/lib-dynload/operator.so
7f58fa7a7000-7f58fa9a7000 ---p 00008000 08:02 9044873
  /usr/lib64/python2.6/lib-dynload/operator.so
7f58fa9a7000-7f58fa9a9000 rw-p 00008000 08:02 9044873
  /usr/lib64/python2.6/lib-dynload/operator.so
7f58fa9a9000-7f58fa9ae000 r-xp 00000000 08:02 9044853
  /usr/lib64/python2.6/lib-dynload/stropmodule.so
7f58fa9ae000-7f58fabad000 ---p 00005000 08:02 9044853
  /usr/lib64/python2.6/lib-dynload/stropmodule.so
7f58fabad000-7f58fabaf000 rw-p 00004000 08:02 9044853
  /usr/lib64/python2.6/lib-dynload/stropmodule.so
7f58fabaf000-7f58fabbf000 r-xp 00000000 08:02 9044816
  /usr/lib64/python2.6/lib-dynload/datetime.so
7f58fabbf000-7f58fadbf000 ---p 00010000 08:02 9044816
  /usr/lib64/python2.6/lib-dynload/datetime.so
7f58fadbf000-7f58fadc3000 rw-p 00010000 08:02 9044816
  /usr/lib64/python2.6/lib-dynload/datetime.so
7f58fadc3000-7f58fadc8000 r-xp 00000000 08:02 9044838
  /usr/lib64/python2.6/lib-dynload/mathmodule.so
7f58fadc8000-7f58fafc8000 ---p 00005000 08:02 9044838
  /usr/lib64/python2.6/lib-dynload/mathmodule.so
7f58fafc8000-7f58fafca000 rw-p 00005000 08:02 9044838
  /usr/lib64/python2.6/lib-dynload/mathmodule.so
7f58fafca000-7f58fafcd000 r-xp 00000000 08:02 9064237
  /usr/lib64/python2.6/lib-dynload/timemodule.so
7f58fafcd000-7f58fb1cd000 ---p 00003000 08:02 9064237
  /usr/lib64/python2.6/lib-dynload/timemodule.so
7f58fb1cd000-7f58fb1cf000 rw-p 00003000 08:02 9064237
  /usr/lib64/python2.6/lib-dynload/timemodule.so
7f58fb1cf000-7f58fb1d6000 r-xp 00000000 08:02 4718610
  /lib64/librt-2.12.so
7f58fb1d6000-7f58fb3d5000 ---p 00007000 08:02 4718610
  /lib64/librt-2.12.so
7f58fb3d5000-7f58fb3d6000 r--p 00006000 08:02 4718610
  /lib64/librt-2.12.so
7f58fb3d6000-7f58fb3d7000 rw-p 00007000 08:02 4718610
  /lib64/librt-2.12.so
7f58fb3d7000-7f58fb3e6000 r-xp 00000000 08:02 5767905
  /home/admin/lib64/python/mx/DateTime/mxDateTime/mxDateTime.so
7f58fb3e6000-7f58fb5e5000 ---p 0000f000 08:02 5767905
  /home/admin/lib64/python/mx/DateTime/mxDateTime/mxDateTime.so
7f58fb5e5000-7f58fb5e7000 rw-p 0000e000 08:02 5767905
  /home/admin/lib64/python/mx/DateTime/mxDateTime/mxDateTime.so
7f58fb5e7000-7f58fb604000 r-xp 00000000 08:02 4718703
  /lib64/libtinfo.so.5.7
7f58fb604000-7f58fb804000 ---p 0001d000 08:02 4718703
  /lib64/libtinfo.so.5.7
7f58fb804000-7f58fb808000 rw-p 0001d000 08:02 4718703
  /lib64/libtinfo.so.5.7
7f58fb808000-7f58fb842000 r-xp 00000000 08:02 4718852
  /lib64/libreadline.so.6.0
7f58fb842000-7f58fba42000 ---p 0003a000 08:02 4718852
  /lib64/libreadline.so.6.0
7f58fba42000-7f58fba4a000 rw-p 0003a000 08:02 4718852
  /lib64/libreadline.so.6.0
7f58fba4a000-7f58fba4b000 rw-p 00000000 00:00 0
7f58fba4b000-7f58fba50000 r-xp 00000000 08:02 9064233
  /usr/lib64/python2.6/lib-dynload/readline.so
7f58fba50000-7f58fbc4f000 ---p 00005000 08:02 9064233
  /usr/lib64/python2.6/lib-dynload/readline.so
7f58fbc4f000-7f58fbc51000 rw-p 00004000 08:02 9064233
  /usr/lib64/python2.6/lib-dynload/readline.so
7f58fbc51000-7f5901ae2000 r--p 00000000 08:02 9064194
  /usr/lib/locale/locale-archive
7f5901ae2000-7f5901c68000 r-xp 00000000 08:02 4718859
  /lib64/libc-2.12.so
7f5901c68000-7f5901e67000 ---p 00186000 08:02 4718859
  /lib64/libc-2.12.so
7f5901e67000-7f5901e6b000 r--p 00185000 08:02 4718859
  /lib64/libc-2.12.so
7f5901e6b000-7f5901e6c000 rw-p 00189000 08:02 4718859
  /lib64/libc-2.12.so
7f5901e6c000-7f5901e71000 rw-p 00000000 00:00 0
7f5901e71000-7f5901ef4000 r-xp 00000000 08:02 4718611
  /lib64/libm-2.12.so
7f5901ef4000-7f59020f3000 ---p 00083000 08:02 4718611
  /lib64/libm-2.12.so
7f59020f3000-7f59020f4000 r--p 00082000 08:02 4718611
  /lib64/libm-2.12.so
7f59020f4000-7f59020f5000 rw-p 00083000 08:02 4718611
  /lib64/libm-2.12.so
7f59020f5000-7f59020f7000 r-xp 00000000 08:02 4718609
  /lib64/libutil-2.12.so
7f59020f7000-7f59022f6000 ---p 00002000 08:02 4718609
  /lib64/libutil-2.12.so
7f59022f6000-7f59022f7000 r--p 00001000 08:02 4718609
  /lib64/libutil-2.12.so
7f59022f7000-7f59022f8000 rw-p 00002000 08:02 4718609
  /lib64/libutil-2.12.so
7f59022f8000-7f59022fa000 r-xp 00000000 08:02 4718892
  /lib64/libdl-2.12.so
7f59022fa000-7f59024fa000 ---p 00002000 08:02 4718892
  /lib64/libdl-2.12.so
7f59024fa000-7f59024fb000 r--p 00002000 08:02 4718892
  /lib64/libdl-2.12.so
7f59024fb000-7f59024fc000 rw-p 00003000 08:02 4718892
  /lib64/libdl-2.12.so
7f59024fc000-7f5902513000 r-xp 00000000 08:02 4718776
  /lib64/libpthread-2.12.so
7f5902513000-7f5902712000 ---p 00017000 08:02 4718776
  /lib64/libpthread-2.12.so
7f5902712000-7f5902713000 r--p 00016000 08:02 4718776
  /lib64/libpthread-2.12.so
7f5902713000-7f5902714000 rw-p 00017000 08:02 4718776
  /lib64/libpthread-2.12.so
7f5902714000-7f5902718000 rw-p 00000000 00:00 0
7f5902718000-7f5902888000 r-xp 00000000 08:02 9064204
  /usr/lib64/libpython2.6.so.1.0
7f5902888000-7f5902a87000 ---p 00170000 08:02 9064204
  /usr/lib64/libpython2.6.so.1.0
7f5902a87000-7f5902ac3000 rw-p 0016f000 08:02 9064204
  /usr/lib64/libpython2.6.so.1.0
7f5902ac3000-7f5902ad1000 rw-p 00000000 00:00 0
7f5902ad1000-7f5902af1000 r-xp 00000000 08:02 4718864
  /lib64/ld-2.12.so
7f5902b67000-7f5902be9000 rw-p 00000000 00:00 0
7f5902be9000-7f5902bf0000 r--s 00000000 08:02 9063862
  /usr/lib64/gconv/gconv-modules.cache
7f5902bf0000-7f5902c62000 rw-p 00000000 00:00 0
7f5902c63000-7f5902cea000 rw-p 00000000 00:00 0
7f5902ced000-7f5902cf0000 rw-p 00000000 00:00 0
7f5902cf0000-7f5902cf1000 r--p 0001f000 08:02 4718864
  /lib64/ld-2.12.so
7f5902cf1000-7f5902cf2000 rw-p 00020000 08:02 4718864
  /lib64/ld-2.12.so
7f5902cf2000-7f5902cf3000 rw-p 00000000 00:00 0
7fffecb3a000-7fffecb54000 rw-p 00000000 00:00 0                          [stack]
7fffecb59000-7fffecb5a000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0
  [vsyscall]
Aborted


Best regards,
Antoine



More information about the egenix-users mailing list