Security
Headlines
HeadlinesLatestCVEs

Headline

CVE-2022-48078: Stack-Overflow in ASTree.cpp · Issue #295 · zrax/pycdc

pycdc commit 44a730f3a889503014fec94ae6e62d8401cb75e5 was discovered to contain a stack overflow via the component ASTree.cpp:BuildFromCode.

CVE
#ubuntu#linux#git

System info

Linux 4.15.0-117-generic #118-Ubuntu x86_64 x86_64 x86_64 GNU/Linux
latest master 44a730f

Command Line

./pycdc poc

AddressSanitizer Output

=================================================================
==22513==ERROR: AddressSanitizer: stack-overflow on address 0x7ffebab9fa98 (pc 0x564add0f069f bp 0x7ffebabb0570 sp 0x7ffebab9fa60 T0)
    #0 0x564add0f069e in BuildFromCode(PycRef<PycCode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:74
    #1 0x564add137557 in decompyle(PycRef<PycCode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:3382
    #2 0x564add12e23f in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2958
    #3 0x564add131fe8 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:3188
    #4 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #5 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #6 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #7 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #8 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #9 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #10 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #11 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #12 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #13 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #14 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #15 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #16 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #17 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #18 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #19 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #20 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #21 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #22 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #23 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #24 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #25 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #26 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #27 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #28 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #29 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #30 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #31 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #32 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #33 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #34 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #35 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #36 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #37 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #38 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #39 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #40 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #41 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #42 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #43 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #44 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #45 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #46 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #47 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #48 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #49 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #50 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #51 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #52 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #53 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #54 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #55 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #56 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #57 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #58 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #59 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #60 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #61 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #62 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #63 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #64 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #65 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #66 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #67 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #68 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #69 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #70 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #71 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #72 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #73 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #74 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #75 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #76 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #77 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #78 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #79 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #80 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #81 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #82 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #83 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #84 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #85 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #86 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #87 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #88 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #89 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #90 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #91 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #92 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #93 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #94 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #95 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #96 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #97 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #98 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #99 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #100 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #101 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #102 0x564add127964 in print_block /home/acesrc/git/pycdc_original/ASTree.cpp:2662
    #103 0x564add12e095 in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2949
    #104 0x564add12d04a in print_src(PycRef<ASTNode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:2897
    #105 0x564add13978f in decompyle(PycRef<PycCode>, PycModule*) /home/acesrc/git/pycdc_original/ASTree.cpp:3468
    #106 0x564add0ee53f in main /home/acesrc/git/pycdc_original/pycdc.cpp:91
    #107 0x7f0b11510bf6 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21bf6)
    #108 0x564add0ed709 in _start (/home/acesrc/git/pycdc_original/asan_build/pycdc+0x44709)

SUMMARY: AddressSanitizer: stack-overflow /home/acesrc/git/pycdc_original/ASTree.cpp:74 in BuildFromCode(PycRef<PycCode>, PycModule*)
==22513==ABORTING

POC

poc.zip

CVE: Latest News

CVE-2023-50976: Transactions API Authorization by oleiman · Pull Request #14969 · redpanda-data/redpanda
CVE-2023-6905
CVE-2023-6903
CVE-2023-6904
CVE-2023-3907