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

stack-overflow in glibc regcomp #22

Open
kvenux opened this issue Oct 20, 2020 · 2 comments
Open

stack-overflow in glibc regcomp #22

kvenux opened this issue Oct 20, 2020 · 2 comments

Comments

@kvenux
Copy link

kvenux commented Oct 20, 2020

Build environment:

Ubuntu 16.04
gcc 5.4.0
version: a6fc196
build command:
export JSI__SANITIZE=1
make
test command: ./jsish poc

Target device:

Desktop Linux

POC

jsish-000418.txt

Description

Below is the ASAN outputs.

ASAN:SIGSEGV

==41969==ERROR: AddressSanitizer: stack-overflow on address 0x7fff2f2c8ff8 (pc 0x7f46bdb37cc0 bp 0x7fff2fabd910 sp 0x7fff2f2c8ff0 T0)
#0 0x7f46bdb37cbf (/lib/x86_64-linux-gnu/libc.so.6+0xdfcbf)
#1 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#2 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#3 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#4 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#5 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#6 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#7 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#8 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#9 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#10 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#11 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#12 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#13 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#14 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#15 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#16 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#17 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#18 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#19 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#20 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#21 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#22 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#23 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#24 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#25 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#26 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#27 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#28 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#29 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#30 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#31 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#32 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#33 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#34 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#35 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#36 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#37 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#38 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#39 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#40 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#41 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#42 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#43 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#44 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#45 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#46 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#47 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#48 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#49 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#50 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#51 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#52 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#53 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#54 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#55 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#56 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#57 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#58 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#59 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#60 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#61 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#62 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#63 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#64 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#65 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#66 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#67 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#68 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#69 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#70 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#71 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#72 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#73 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#74 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#75 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#76 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#77 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#78 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#79 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#80 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#81 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#82 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#83 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#84 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#85 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#86 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#87 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#88 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#89 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#90 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#91 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#92 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#93 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#94 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#95 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#96 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#97 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#98 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#99 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#100 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#101 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#102 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#103 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#104 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#105 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#106 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#107 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#108 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#109 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#110 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#111 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#112 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#113 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#114 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#115 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#116 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#117 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#118 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#119 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#120 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#121 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#122 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#123 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#124 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#125 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#126 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#127 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#128 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#129 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#130 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#131 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#132 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#133 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#134 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#135 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#136 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#137 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#138 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#139 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#140 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#141 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#142 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#143 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#144 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#145 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#146 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#147 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#148 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#149 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#150 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#151 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#152 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#153 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#154 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#155 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#156 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#157 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#158 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#159 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#160 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#161 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#162 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#163 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#164 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#165 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#166 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#167 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#168 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#169 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#170 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#171 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#172 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#173 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#174 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#175 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#176 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#177 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#178 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#179 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#180 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#181 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#182 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#183 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#184 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#185 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#186 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#187 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#188 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#189 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#190 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#191 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#192 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#193 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#194 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#195 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#196 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#197 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#198 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#199 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#200 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#201 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#202 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#203 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#204 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#205 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#206 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#207 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#208 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#209 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#210 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#211 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#212 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#213 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#214 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#215 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#216 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#217 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#218 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#219 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#220 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#221 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#222 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#223 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#224 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#225 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#226 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#227 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#228 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#229 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#230 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#231 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#232 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#233 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#234 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#235 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#236 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#237 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#238 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#239 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#240 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#241 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#242 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#243 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#244 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#245 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#246 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#247 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#248 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)
#249 0x7f46bdb37ccd (/lib/x86_64-linux-gnu/libc.so.6+0xdfccd)
#250 0x7f46bdb39e85 (/lib/x86_64-linux-gnu/libc.so.6+0xe1e85)
#251 0x7f46bdb3c16b (/lib/x86_64-linux-gnu/libc.so.6+0xe416b)

SUMMARY: AddressSanitizer: stack-overflow ??:0 ??
==41969==ABORTING

@pcmacdon
Copy link
Owner

An interesting and very good find. Note that using the musl binary does not crash:

jsish-000418.txt:35: error: Invalid regex string '((((((((((....

This is not the first crash from regex I've seen, nor even the worst one. That one uses {} with repeat counts causing you to run out of memory and your desktop to hang. Even from the shell.

ls | grep -E ".*{10,}{10,}{111111,}"

We could put a sanity checker in front, or never use the builtin regex.
Not sure which...

@pcmacdon
Copy link
Owner

As a stopgap measure, I've added a simple sanity checker to disallow more than 1 of '}{' or more than 50 of '('.
But I'm renaming it and leaving the issue open.

@pcmacdon pcmacdon changed the title stack-overflow stack-overflow in glibc in regcomp Oct 20, 2020
@pcmacdon pcmacdon changed the title stack-overflow in glibc in regcomp stack-overflow in glibc regcomp Oct 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants