We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Escargot
Describe the bug Out-of-Bounds write
Test case Test code to reproduce the behavior: set.txt rename .txt -> .js before use
Backtrace
Analysis
n / wordSize
n
set()
ch - chunkLo
n = ch - chunkLo
third_party/yarr/BitSet.h:150 asm
0xffffe055
third_party/yarr/BitSet.h
bits
wordSize
0x3ffff81
bits[0x3ffff81]
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Credit : Sunghoon Jang, Jeonil Ji
Escargot
Describe the bug
Out-of-Bounds write
Test case
Test code to reproduce the behavior:
set.txt
rename .txt -> .js before use
Backtrace
Analysis
third_party/yarr/BitSet.hn / wordSize
is 67108737, leading to OOB access at bits[67108737].n
, I examined backtrace#1, where theset()
function is called.set()
function usesch - chunkLo
as an argument.n = ch - chunkLo
third_party/yarr/BitSet.h:150 asm
0xffffe055
) is stored at rbp-0x10.third_party/yarr/BitSet.h
n / wordSize
is being used as the index ofbits
.wordSize
= 2^6, it performs a shr 6 operation internally.0xffffe055
).n / wordSize
operation, the result0x3ffff81
is stored in rdx.bits[0x3ffff81]
, resulting in the OOB.Credit : Sunghoon Jang, Jeonil Ji
The text was updated successfully, but these errors were encountered: