Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AddressSanitizer: SEGV on unknown address 0x7fab556df550 #73671

Closed
beginvuln mannequin opened this issue Feb 8, 2017 · 2 comments
Closed

AddressSanitizer: SEGV on unknown address 0x7fab556df550 #73671

beginvuln mannequin opened this issue Feb 8, 2017 · 2 comments
Labels
interpreter-core (Objects, Python, Grammar, and Parser dirs) type-security A security issue

Comments

@beginvuln
Copy link
Mannequin

beginvuln mannequin commented Feb 8, 2017

BPO 29485
Nosy @matrixise
Files
  • cfield_1336: PoC
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = <Date 2017-02-08.14:46:55.467>
    created_at = <Date 2017-02-08.14:42:58.297>
    labels = ['type-security', 'interpreter-core']
    title = 'AddressSanitizer: SEGV on unknown address 0x7fab556df550'
    updated_at = <Date 2017-02-08.14:46:55.444>
    user = 'https://bugs.python.org/beginvuln'

    bugs.python.org fields:

    activity = <Date 2017-02-08.14:46:55.444>
    actor = 'matrixise'
    assignee = 'none'
    closed = True
    closed_date = <Date 2017-02-08.14:46:55.467>
    closer = 'matrixise'
    components = ['Interpreter Core']
    creation = <Date 2017-02-08.14:42:58.297>
    creator = 'beginvuln'
    dependencies = []
    files = ['46580']
    hgrepos = []
    issue_num = 29485
    keywords = []
    message_count = 2.0
    messages = ['287319', '287324']
    nosy_count = 2.0
    nosy_names = ['matrixise', 'beginvuln']
    pr_nums = []
    priority = 'normal'
    resolution = 'duplicate'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'security'
    url = 'https://bugs.python.org/issue29485'
    versions = ['Python 3.6']

    @beginvuln
    Copy link
    Mannequin Author

    beginvuln mannequin commented Feb 8, 2017

    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".

    Program received signal SIGSEGV, Segmentation fault.
    z_get (ptr=0x7ffff5bba5d8, size=8) at /home/test/check/PythonGDB/Modules/_ctypes/cfield.c:1336
    1336 if (*(void **)ptr) {
    Description: Access violation on source operand
    Short description: SourceAv (19/22)
    Hash: 3930661c9a0f4c1f31bb4f2341bca47f.d4e21449248c6102834e8b566f6b2ac9
    Exploitability Classification: UNKNOWN
    Explanation: The target crashed on an access violation at an address matching the source operand of the current instruction. This likely indicates a read access violation.
    Other tags: AccessViolation (21/22)

    ASAN:

    ASAN:DEADLYSIGNAL
    =================================================================
    ==18885==ERROR: AddressSanitizer: SEGV on unknown address 0x7fab556df550 (pc 0x7fab558d0cd1 bp 0x7fab5a4b0b90 sp 0x7ffc9cbcc220 T0)
    #0 0x7fab558d0cd0 in z_get /home/test/check/PythonASAN/Modules/_ctypes/cfield.c:1336
    #1 0x7fab558d0cd0 in ?? ??:0
    #2 0x63ac07 in _PyObject_GenericGetAttrWithDict /home/test/check/PythonASAN/Objects/object.c:1060
    #3 0x63ac07 in ?? ??:0
    #4 0x7966cc in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:2815 (discriminator 1)
    #5 0x7966cc in ?? ??:0
    #6 0x7a9847 in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
    #7 0x7a9847 in _PyEval_EvalCodeWithName /home/test/check/PythonASAN/Python/ceval.c:4119
    #8 0x7a9847 in ?? ??:0
    #9 0x7ab648 in fast_function /home/test/check/PythonASAN/Python/ceval.c:4929 (discriminator 1)
    #10 0x7ab648 in ?? ??:0
    #11 0x7a76f2 in call_function /home/test/check/PythonASAN/Python/ceval.c:4809
    #12 0x7a76f2 in ?? ??:0
    #13 0x7995cc in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3275
    #14 0x7995cc in ?? ??:0
    #15 0x7a9847 in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
    #16 0x7a9847 in _PyEval_EvalCodeWithName /home/test/check/PythonASAN/Python/ceval.c:4119
    #17 0x7a9847 in ?? ??:0
    #18 0x7ac2ea in _PyFunction_FastCallDict /home/test/check/PythonASAN/Python/ceval.c:5021
    #19 0x7ac2ea in ?? ??:0
    #20 0x574668 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2295
    #21 0x574668 in ?? ??:0
    #22 0x5749fa in _PyObject_Call_Prepend /home/test/check/PythonASAN/Objects/abstract.c:2358
    #23 0x5749fa in ?? ??:0
    #24 0x573e9b in PyObject_Call /home/test/check/PythonASAN/Objects/abstract.c:2246
    #25 0x573e9b in ?? ??:0
    #26 0x793369 in do_call_core /home/test/check/PythonASAN/Python/ceval.c:5057
    #27 0x793369 in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3357
    #28 0x793369 in ?? ??:0
    #29 0x7a9847 in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
    #30 0x7a9847 in _PyEval_EvalCodeWithName /home/test/check/PythonASAN/Python/ceval.c:4119
    #31 0x7a9847 in ?? ??:0
    #32 0x7ac2ea in _PyFunction_FastCallDict /home/test/check/PythonASAN/Python/ceval.c:5021
    #33 0x7ac2ea in ?? ??:0
    #34 0x574668 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2295
    #35 0x574668 in ?? ??:0
    #36 0x5749fa in _PyObject_Call_Prepend /home/test/check/PythonASAN/Objects/abstract.c:2358
    #37 0x5749fa in ?? ??:0
    #38 0x573e9b in PyObject_Call /home/test/check/PythonASAN/Objects/abstract.c:2246
    #39 0x573e9b in ?? ??:0
    #40 0x66efe4 in slot_tp_call /home/test/check/PythonASAN/Objects/typeobject.c:6167
    #41 0x66efe4 in ?? ??:0
    #42 0x5745f0 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2316
    #43 0x5745f0 in ?? ??:0
    #44 0x7a7429 in call_function /home/test/check/PythonASAN/Python/ceval.c:4812
    #45 0x7a7429 in ?? ??:0
    #46 0x7995cc in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3275
    #47 0x7995cc in ?? ??:0
    #48 0x7a9847 in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
    #49 0x7a9847 in _PyEval_EvalCodeWithName /home/test/check/PythonASAN/Python/ceval.c:4119
    #50 0x7a9847 in ?? ??:0
    #51 0x7ac2ea in _PyFunction_FastCallDict /home/test/check/PythonASAN/Python/ceval.c:5021
    #52 0x7ac2ea in ?? ??:0
    #53 0x574668 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2295
    #54 0x574668 in ?? ??:0
    #55 0x5749fa in _PyObject_Call_Prepend /home/test/check/PythonASAN/Objects/abstract.c:2358
    #56 0x5749fa in ?? ??:0
    #57 0x573e9b in PyObject_Call /home/test/check/PythonASAN/Objects/abstract.c:2246
    #58 0x573e9b in ?? ??:0
    #59 0x793369 in do_call_core /home/test/check/PythonASAN/Python/ceval.c:5057
    #60 0x793369 in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3357
    #61 0x793369 in ?? ??:0
    #62 0x7a9847 in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
    #63 0x7a9847 in _PyEval_EvalCodeWithName /home/test/check/PythonASAN/Python/ceval.c:4119
    #64 0x7a9847 in ?? ??:0
    #65 0x7ac2ea in _PyFunction_FastCallDict /home/test/check/PythonASAN/Python/ceval.c:5021
    #66 0x7ac2ea in ?? ??:0
    #67 0x574668 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2295
    #68 0x574668 in ?? ??:0
    #69 0x5749fa in _PyObject_Call_Prepend /home/test/check/PythonASAN/Objects/abstract.c:2358
    #70 0x5749fa in ?? ??:0
    #71 0x573e9b in PyObject_Call /home/test/check/PythonASAN/Objects/abstract.c:2246
    #72 0x573e9b in ?? ??:0
    #73 0x66efe4 in slot_tp_call /home/test/check/PythonASAN/Objects/typeobject.c:6167
    #74 0x66efe4 in ?? ??:0
    #75 0x5745f0 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2316
    #76 0x5745f0 in ?? ??:0
    #77 0x7a7429 in call_function /home/test/check/PythonASAN/Python/ceval.c:4812
    #78 0x7a7429 in ?? ??:0
    #79 0x7995cc in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3275
    #80 0x7995cc in ?? ??:0
    #81 0x7a9847 in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
    #82 0x7a9847 in _PyEval_EvalCodeWithName /home/test/check/PythonASAN/Python/ceval.c:4119
    #83 0x7a9847 in ?? ??:0
    #84 0x7ac2ea in _PyFunction_FastCallDict /home/test/check/PythonASAN/Python/ceval.c:5021
    #85 0x7ac2ea in ?? ??:0
    #86 0x574668 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2295
    #87 0x574668 in ?? ??:0
    #88 0x5749fa in _PyObject_Call_Prepend /home/test/check/PythonASAN/Objects/abstract.c:2358
    #89 0x5749fa in ?? ??:0
    #90 0x573e9b in PyObject_Call /home/test/check/PythonASAN/Objects/abstract.c:2246
    #91 0x573e9b in ?? ??:0
    #92 0x793369 in do_call_core /home/test/check/PythonASAN/Python/ceval.c:5057
    #93 0x793369 in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3357
    #94 0x793369 in ?? ??:0
    #95 0x7a9847 in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
    #96 0x7a9847 in _PyEval_EvalCodeWithName /home/test/check/PythonASAN/Python/ceval.c:4119
    #97 0x7a9847 in ?? ??:0
    #98 0x7ac2ea in _PyFunction_FastCallDict /home/test/check/PythonASAN/Python/ceval.c:5021
    #99 0x7ac2ea in ?? ??:0
    #100 0x574668 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2295
    #101 0x574668 in ?? ??:0
    #102 0x5749fa in _PyObject_Call_Prepend /home/test/check/PythonASAN/Objects/abstract.c:2358
    #103 0x5749fa in ?? ??:0
    #104 0x573e9b in PyObject_Call /home/test/check/PythonASAN/Objects/abstract.c:2246
    #105 0x573e9b in ?? ??:0
    #106 0x66efe4 in slot_tp_call /home/test/check/PythonASAN/Objects/typeobject.c:6167
    #107 0x66efe4 in ?? ??:0
    #108 0x5745f0 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2316
    #109 0x5745f0 in ?? ??:0
    #110 0x7a7429 in call_function /home/test/check/PythonASAN/Python/ceval.c:4812
    #111 0x7a7429 in ?? ??:0
    #112 0x7995cc in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3275
    #113 0x7995cc in ?? ??:0
    #114 0x7ab4cb in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
    #115 0x7ab4cb in _PyFunction_FastCall /home/test/check/PythonASAN/Python/ceval.c:4870
    #116 0x7ab4cb in fast_function /home/test/check/PythonASAN/Python/ceval.c:4905
    #117 0x7ab4cb in ?? ??:0
    #118 0x7a76f2 in call_function /home/test/check/PythonASAN/Python/ceval.c:4809
    #119 0x7a76f2 in ?? ??:0
    #120 0x7995cc in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3275
    #121 0x7995cc in ?? ??:0
    #122 0x7ab4cb in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
    #123 0x7ab4cb in _PyFunction_FastCall /home/test/check/PythonASAN/Python/ceval.c:4870
    #124 0x7ab4cb in fast_function /home/test/check/PythonASAN/Python/ceval.c:4905
    #125 0x7ab4cb in ?? ??:0
    #126 0x7a76f2 in call_function /home/test/check/PythonASAN/Python/ceval.c:4809
    #127 0x7a76f2 in ?? ??:0
    #128 0x7995cc in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3275
    #129 0x7995cc in ?? ??:0
    #130 0x7a9847 in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
    #131 0x7a9847 in _PyEval_EvalCodeWithName /home/test/check/PythonASAN/Python/ceval.c:4119
    #132 0x7a9847 in ?? ??:0
    #133 0x7ac2ea in _PyFunction_FastCallDict /home/test/check/PythonASAN/Python/ceval.c:5021
    #134 0x7ac2ea in ?? ??:0
    #135 0x574668 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2295
    #136 0x574668 in ?? ??:0
    #137 0x5749fa in _PyObject_Call_Prepend /home/test/check/PythonASAN/Objects/abstract.c:2358
    #138 0x5749fa in ?? ??:0
    #139 0x573e9b in PyObject_Call /home/test/check/PythonASAN/Objects/abstract.c:2246
    #140 0x573e9b in ?? ??:0
    #141 0x6713f8 in slot_tp_init /home/test/check/PythonASAN/Objects/typeobject.c:6380
    #142 0x6713f8 in ?? ??:0
    #143 0x666d8d in type_call /home/test/check/PythonASAN/Objects/typeobject.c:915 (discriminator 1)
    #144 0x666d8d in ?? ??:0
    #145 0x5745f0 in _PyObject_FastCallDict /home/test/check/PythonASAN/Objects/abstract.c:2316
    #146 0x5745f0 in ?? ??:0
    #147 0x7a7429 in call_function /home/test/check/PythonASAN/Python/ceval.c:4812
    #148 0x7a7429 in ?? ??:0
    #149 0x7995cc in _PyEval_EvalFrameDefault /home/test/check/PythonASAN/Python/ceval.c:3275
    #150 0x7995cc in ?? ??:0
    #151 0x7a9847 in PyEval_EvalFrameEx /home/test/check/PythonASAN/Python/ceval.c:718
    #152 0x7a9847 in _PyEval_EvalCodeWithName /home/test/check/PythonASAN/Python/ceval.c:4119
    #153 0x7a9847 in ?? ??:0
    #154 0x78e0df in PyEval_EvalCodeEx /home/test/check/PythonASAN/Python/ceval.c:4140
    #155 0x78e0df in PyEval_EvalCode /home/test/check/PythonASAN/Python/ceval.c:695
    #156 0x78e0df in ?? ??:0
    #157 0x5142f5 in run_mod /home/test/check/PythonASAN/Python/pythonrun.c:980
    #158 0x5142f5 in PyRun_FileExFlags /home/test/check/PythonASAN/Python/pythonrun.c:933
    #159 0x5142f5 in ?? ??:0
    #160 0x512afa in PyRun_SimpleFileExFlags /home/test/check/PythonASAN/Python/pythonrun.c:396
    #161 0x512afa in ?? ??:0
    #162 0x53eefd in run_file /home/test/check/PythonASAN/Modules/main.c:320
    #163 0x53eefd in Py_Main /home/test/check/PythonASAN/Modules/main.c:780
    #164 0x53eefd in ?? ??:0
    #165 0x503d16 in main /home/test/check/PythonASAN/./Programs/python.c:69
    #166 0x503d16 in ?? ??:0
    #167 0x7fab5921b82f in __libc_start_main /build/glibc-GKVZIf/glibc-2.23/csu/../csu/libc-start.c:291
    #168 0x7fab5921b82f in ?? ??:0
    #169 0x432548 in _start ??:?
    #170 0x432548 in ?? ??:0

    AddressSanitizer can not provide additional info.
    SUMMARY: AddressSanitizer: SEGV (/home/test/check/PythonASAN/build/lib.linux-x86_64-3.6/_ctypes.cpython-36m-x86_64-linux-gnu.so+0x36cd0)
    ==18885==ABORTING

    @beginvuln beginvuln mannequin added interpreter-core (Objects, Python, Grammar, and Parser dirs) type-security A security issue labels Feb 8, 2017
    @matrixise
    Copy link
    Member

    See #bpo-29486

    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    interpreter-core (Objects, Python, Grammar, and Parser dirs) type-security A security issue
    Projects
    None yet
    Development

    No branches or pull requests

    1 participant