Closed chibataiki closed 3 years ago
I could not reproduce the problem on my machine ARM 32 bits. But, anyway, I wonder how the pointer can be out of bound: the function write_title() is always called when s->text contains a string starting with "T:". So, may be give me the value of s->text when the problem occurs?
I also could not reproduce the problem in my aarch64 machine.
In my x86_64 machine , here is the values.
gef➤ p s
$12 = (struct SYMBOL *) 0x433a4b
gef➤ p s->text
Cannot access memory at address 0x433b03
gef➤ p &s->text
$13 = (char **) 0x433b03
gef➤ p &s->text[2]
Cannot access memory at address 0x433b03
Just an idea. Some data in some symbols could be changed on wrong duration in voice overlay. This problem has been fixed by the commit 2f56e11. But, as there are voice overlay errors in the ABC file of this issue, may you try it again after applying the last commits?
Seem fix the bug, thanks for your work!
In Version 0cf4a55
Out-of-bounds read found in function write_title() in subs.c. The flow allows attackers to cause denial of service.
Here didn't check whether
&s->text[2]
is valid .gdb info:
reproduce : (poc zipped )
out-of-bounds-read_subs.c+1465_write_title.zip
reporter: chiba of topsec alphalab