Message287327
OS Version : Ubuntu 16.04 LTS
Python download link : https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
Python version : 3.6.0
Normal build cmd :
./configure
make
Asan build cmd:
export CC="/usr/bin/clang -fsanitize=address
export CXX="/usr/bin/clang++ -fsanitize=address
./confiugre
make
GDB with exploitable:
To enable execution of this file add
add-auto-load-safe-path /home/test/check/PythonGDB/python-gdb.py
line to your configuration file "/home/test/.gdbinit".
To completely disable this security protection add
set auto-load safe-path /
line to your configuration file "/home/test/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual. E.g., run from the shell:
info "(gdb)Auto-loading safe path"
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Inferior 1 (process 19397) exited with code 01]
ASAN:
=================================================================
==17935==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60200000e734 at pc 0x7f6e87941564 bp 0x7fff533392c0 sp 0x7fff533392b8
READ of size 4 at 0x60200000e734 thread T0
#0 0x7f6e87941563 in Pointer_subscript /home/test/check/PythonASAN/Modules/_ctypes/_ctypes.c:5013
#1 0x7f6e87941563 in ?? ??:0
#2 0x79987c in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:1458 (discriminator 1)
#3 0x79987c in ?? ??:0
#4 0x7ab4cb in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
#5 0x7ab4cb in _PyFunction_FastCall /home/test/check/PythonASAN/Python/ceval.c:4870
#6 0x7ab4cb in fast_function /home/test/check/PythonASAN/Python/ceval.c:4905
#7 0x7ab4cb in ?? ??:0
#8 0x7a76f2 in call_function /home/test/check/PythonASAN/Python/ceval.c:4809
#9 0x7a76f2 in ?? ??:0
#10 0x7995cc in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3275
#11 0x7995cc in ?? ??:0
#12 0x7a9847 in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
#13 0x7a9847 in _PyEval_EvalCodeWithName /home/test/check/PythonASAN/Python/ceval.c:4119
#14 0x7a9847 in ?? ??:0
#15 0x7ac2ea in _PyFunction_FastCallDict /home/test/check/PythonASAN/Python/ceval.c:5021
#16 0x7ac2ea in ?? ??:0
#17 0x574668 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2295
#18 0x574668 in ?? ??:0
#19 0x5749fa in _PyObject_Call_Prepend /home/test/check/PythonASAN/Objects/abstract.c:2358
#20 0x5749fa in ?? ??:0
#21 0x573e9b in PyObject_Call /home/test/check/PythonASAN/Objects/abstract.c:2246
#22 0x573e9b in ?? ??:0
#23 0x793369 in do_call_core /home/test/check/PythonASAN/Python/ceval.c:5057
#24 0x793369 in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3357
#25 0x793369 in ?? ??:0
#26 0x7a9847 in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
#27 0x7a9847 in _PyEval_EvalCodeWithName /home/test/check/PythonASAN/Python/ceval.c:4119
#28 0x7a9847 in ?? ??:0
#29 0x7ac2ea in _PyFunction_FastCallDict /home/test/check/PythonASAN/Python/ceval.c:5021
#30 0x7ac2ea in ?? ??:0
#31 0x574668 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2295
#32 0x574668 in ?? ??:0
#33 0x5749fa in _PyObject_Call_Prepend /home/test/check/PythonASAN/Objects/abstract.c:2358
#34 0x5749fa in ?? ??:0
#35 0x573e9b in PyObject_Call /home/test/check/PythonASAN/Objects/abstract.c:2246
#36 0x573e9b in ?? ??:0
#37 0x66efe4 in slot_tp_call /home/test/check/PythonASAN/Objects/typeobject.c:6167
#38 0x66efe4 in ?? ??:0
#39 0x5745f0 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2316
#40 0x5745f0 in ?? ??:0
#41 0x7a7429 in call_function /home/test/check/PythonASAN/Python/ceval.c:4812
#42 0x7a7429 in ?? ??:0
#43 0x7995cc in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3275
#44 0x7995cc in ?? ??:0
#45 0x7a9847 in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
#46 0x7a9847 in _PyEval_EvalCodeWithName /home/test/check/PythonASAN/Python/ceval.c:4119
#47 0x7a9847 in ?? ??:0
#48 0x7ac2ea in _PyFunction_FastCallDict /home/test/check/PythonASAN/Python/ceval.c:5021
#49 0x7ac2ea in ?? ??:0
#50 0x574668 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2295
#51 0x574668 in ?? ??:0
#52 0x5749fa in _PyObject_Call_Prepend /home/test/check/PythonASAN/Objects/abstract.c:2358
#53 0x5749fa in ?? ??:0
#54 0x573e9b in PyObject_Call /home/test/check/PythonASAN/Objects/abstract.c:2246
#55 0x573e9b in ?? ??:0
#56 0x793369 in do_call_core /home/test/check/PythonASAN/Python/ceval.c:5057
#57 0x793369 in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3357
#58 0x793369 in ?? ??:0
#59 0x7a9847 in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
#60 0x7a9847 in _PyEval_EvalCodeWithName /home/test/check/PythonASAN/Python/ceval.c:4119
#61 0x7a9847 in ?? ??:0
#62 0x7ac2ea in _PyFunction_FastCallDict /home/test/check/PythonASAN/Python/ceval.c:5021
#63 0x7ac2ea in ?? ??:0
#64 0x574668 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2295
#65 0x574668 in ?? ??:0
#66 0x5749fa in _PyObject_Call_Prepend /home/test/check/PythonASAN/Objects/abstract.c:2358
#67 0x5749fa in ?? ??:0
#68 0x573e9b in PyObject_Call /home/test/check/PythonASAN/Objects/abstract.c:2246
#69 0x573e9b in ?? ??:0
#70 0x66efe4 in slot_tp_call /home/test/check/PythonASAN/Objects/typeobject.c:6167
#71 0x66efe4 in ?? ??:0
#72 0x5745f0 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2316
#73 0x5745f0 in ?? ??:0
#74 0x7a7429 in call_function /home/test/check/PythonASAN/Python/ceval.c:4812
#75 0x7a7429 in ?? ??:0
#76 0x7995cc in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3275
#77 0x7995cc in ?? ??:0
#78 0x7a9847 in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
#79 0x7a9847 in _PyEval_EvalCodeWithName /home/test/check/PythonASAN/Python/ceval.c:4119
#80 0x7a9847 in ?? ??:0
#81 0x7ac2ea in _PyFunction_FastCallDict /home/test/check/PythonASAN/Python/ceval.c:5021
#82 0x7ac2ea in ?? ??:0
#83 0x574668 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2295
#84 0x574668 in ?? ??:0
#85 0x5749fa in _PyObject_Call_Prepend /home/test/check/PythonASAN/Objects/abstract.c:2358
#86 0x5749fa in ?? ??:0
#87 0x573e9b in PyObject_Call /home/test/check/PythonASAN/Objects/abstract.c:2246
#88 0x573e9b in ?? ??:0
#89 0x793369 in do_call_core /home/test/check/PythonASAN/Python/ceval.c:5057
#90 0x793369 in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3357
#91 0x793369 in ?? ??:0
#92 0x7a9847 in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
#93 0x7a9847 in _PyEval_EvalCodeWithName /home/test/check/PythonASAN/Python/ceval.c:4119
#94 0x7a9847 in ?? ??:0
#95 0x7ac2ea in _PyFunction_FastCallDict /home/test/check/PythonASAN/Python/ceval.c:5021
#96 0x7ac2ea in ?? ??:0
#97 0x574668 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2295
#98 0x574668 in ?? ??:0
#99 0x5749fa in _PyObject_Call_Prepend /home/test/check/PythonASAN/Objects/abstract.c:2358
#100 0x5749fa in ?? ??:0
#101 0x573e9b in PyObject_Call /home/test/check/PythonASAN/Objects/abstract.c:2246
#102 0x573e9b in ?? ??:0
#103 0x66efe4 in slot_tp_call /home/test/check/PythonASAN/Objects/typeobject.c:6167
#104 0x66efe4 in ?? ??:0
#105 0x5745f0 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2316
#106 0x5745f0 in ?? ??:0
#107 0x7a7429 in call_function /home/test/check/PythonASAN/Python/ceval.c:4812
#108 0x7a7429 in ?? ??:0
#109 0x7995cc in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3275
#110 0x7995cc in ?? ??:0
#111 0x7ab4cb in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
#112 0x7ab4cb in _PyFunction_FastCall /home/test/check/PythonASAN/Python/ceval.c:4870
#113 0x7ab4cb in fast_function /home/test/check/PythonASAN/Python/ceval.c:4905
#114 0x7ab4cb in ?? ??:0
#115 0x7a76f2 in call_function /home/test/check/PythonASAN/Python/ceval.c:4809
#116 0x7a76f2 in ?? ??:0
#117 0x7995cc in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3275
#118 0x7995cc in ?? ??:0
#119 0x7ab4cb in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
#120 0x7ab4cb in _PyFunction_FastCall /home/test/check/PythonASAN/Python/ceval.c:4870
#121 0x7ab4cb in fast_function /home/test/check/PythonASAN/Python/ceval.c:4905
#122 0x7ab4cb in ?? ??:0
#123 0x7a76f2 in call_function /home/test/check/PythonASAN/Python/ceval.c:4809
#124 0x7a76f2 in ?? ??:0
#125 0x7995cc in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3275
#126 0x7995cc in ?? ??:0
#127 0x7a9847 in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
#128 0x7a9847 in _PyEval_EvalCodeWithName /home/test/check/PythonASAN/Python/ceval.c:4119
#129 0x7a9847 in ?? ??:0
#130 0x7ac2ea in _PyFunction_FastCallDict /home/test/check/PythonASAN/Python/ceval.c:5021
#131 0x7ac2ea in ?? ??:0
#132 0x574668 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2295
#133 0x574668 in ?? ??:0
#134 0x5749fa in _PyObject_Call_Prepend /home/test/check/PythonASAN/Objects/abstract.c:2358
#135 0x5749fa in ?? ??:0
#136 0x573e9b in PyObject_Call /home/test/check/PythonASAN/Objects/abstract.c:2246
#137 0x573e9b in ?? ??:0
#138 0x6713f8 in slot_tp_init /home/test/check/PythonASAN/Objects/typeobject.c:6380
#139 0x6713f8 in ?? ??:0
#140 0x666d8d in type_call /home/test/check/PythonASAN/Objects/typeobject.c:915 (discriminator 1)
#141 0x666d8d in ?? ??:0
#142 0x5745f0 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2316
#143 0x5745f0 in ?? ??:0
#144 0x7a7429 in call_function /home/test/check/PythonASAN/Python/ceval.c:4812
#145 0x7a7429 in ?? ??:0
#146 0x7995cc in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3275
#147 0x7995cc in ?? ??:0
#148 0x7a9847 in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
#149 0x7a9847 in _PyEval_EvalCodeWithName /home/test/check/PythonASAN/Python/ceval.c:4119
#150 0x7a9847 in ?? ??:0
#151 0x78e0df in PyEval_EvalCodeEx /home/test/check/PythonASAN/Python/ceval.c:4140
#152 0x78e0df in PyEval_EvalCode /home/test/check/PythonASAN/Python/ceval.c:695
#153 0x78e0df in ?? ??:0
#154 0x5142f5 in run_mod /home/test/check/PythonASAN/Python/pythonrun.c:980
#155 0x5142f5 in PyRun_FileExFlags /home/test/check/PythonASAN/Python/pythonrun.c:933
#156 0x5142f5 in ?? ??:0
#157 0x512afa in PyRun_SimpleFileExFlags /home/test/check/PythonASAN/Python/pythonrun.c:396
#158 0x512afa in ?? ??:0
#159 0x53eefd in run_file /home/test/check/PythonASAN/Modules/main.c:320
#160 0x53eefd in Py_Main /home/test/check/PythonASAN/Modules/main.c:780
#161 0x53eefd in ?? ??:0
#162 0x503d16 in main /home/test/check/PythonASAN/./Programs/python.c:69
#163 0x503d16 in ?? ??:0
#164 0x7f6e8b28d82f in __libc_start_main /build/glibc-GKVZIf/glibc-2.23/csu/../csu/libc-start.c:291
#165 0x7f6e8b28d82f in ?? ??:0
#166 0x432548 in _start ??:?
#167 0x432548 in ?? ??:0
0x60200000e734 is located 0 bytes to the right of 4-byte region [0x60200000e730,0x60200000e734)
allocated by thread T0 here:
#0 0x4d2678 in malloc ??:?
#1 0x4d2678 in ?? ??:0
#2 0x7f6e874cc9bc in my_wcsdup /home/test/check/PythonASAN/Modules/_ctypes/_ctypes_test.c:185 (discriminator 1)
#3 0x7f6e874cc9bc in ?? ??:0
#2 0x7fff53338f5f (<unknown module>)
SUMMARY: AddressSanitizer: heap-buffer-overflow (/home/test/check/PythonASAN/build/lib.linux-x86_64-3.6/_ctypes.cpython-36m-x86_64-linux-gnu.so+0x27563)
Shadow bytes around the buggy address:
0x0c047fff9c90: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c047fff9ca0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c047fff9cb0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c047fff9cc0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c047fff9cd0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c047fff9ce0: fa fa fa fa fa fa[04]fa fa fa fd fa fa fa fd fa
0x0c047fff9cf0: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa
0x0c047fff9d00: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa
0x0c047fff9d10: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa
0x0c047fff9d20: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa
0x0c047fff9d30: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Heap right redzone: fb
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack partial redzone: f4
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==17935==ABORTING |
|
Date |
User |
Action |
Args |
2017-02-08 14:48:14 | beginvuln | set | recipients:
+ beginvuln |
2017-02-08 14:48:13 | beginvuln | set | messageid: <1486565293.5.0.613764150228.issue29491@psf.upfronthosting.co.za> |
2017-02-08 14:48:13 | beginvuln | link | issue29491 messages |
2017-02-08 14:48:13 | beginvuln | create | |
|