[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
HEAP BUFFER OVERFLOW BUG
From: |
abhishek singh |
Subject: |
HEAP BUFFER OVERFLOW BUG |
Date: |
Sat, 20 Jan 2024 17:59:48 +0530 |
### Description
heap-buffer-overflow indent/src/output.c:319 in set_buf_break.
CVE-2023-40305 has heap-buffer-overflow in search_brace, but this bug is in
set_buf_break in indent/src/output.c
POC file is attached
### GNU indent Version
```
GNU indent 2.2.13
```
### Steps to recreate
```
cd indent
autoreconf -i
./configure --disable-nls
make
indent ./poc
```
### POC
[poc](https://paste.debian.net/download/1304713)
### Crash Info
```
-> indent/src/indent
id:000012,sig:06,src:000003,time:58344633,execs:1235790,op:arith8,pos:7267,val:+30
/home/output
=================================================================
==1429449==ERROR: AddressSanitizer: heap-buffer-overflow on address
0x6020000003ec at pc 0x55d7c332e0d1 bp 0x7ffc002e4940 sp 0x7ffc002e4938
READ of size 2 at 0x6020000003ec thread T0
#0 0x55d7c332e0d0 in set_buf_break
/home/nu1lptr/afl/indent/src/output.c:319:13
#1 0x55d7c33047c7 in indent_main_loop
/home/nu1lptr/afl/indent/src/indent.c:640:17
#2 0x55d7c33047c7 in indent /home/nu1lptr/afl/indent/src/indent.c:759:12
#3 0x55d7c32ff361 in indent_multiple_files
/home/nu1lptr/afl/indent/src/indent.c:938:18
#4 0x55d7c32ff361 in indent_all
/home/nu1lptr/afl/indent/src/indent.c:1036:23
#5 0x55d7c32ff361 in main /home/nu1lptr/afl/indent/src/indent.c:1123:23
#6 0x7fb444e29d8f in __libc_start_call_main
csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#7 0x7fb444e29e3f in __libc_start_main csu/../csu/libc-start.c:392:3
#8 0x55d7c3225324 in _start
(/home/nu1lptr/afl/indent/src/indent+0x6a324) (BuildId: bf919c9b1b6dfa4b)
0x6020000003ec is located 4 bytes before 16-byte region
[0x6020000003f0,0x602000000400)
allocated by thread T0 here:
#0 0x55d7c32bf338 in calloc
(/home/nu1lptr/afl/indent/src/indent+0x104338) (BuildId: bf919c9b1b6dfa4b)
#1 0x55d7c332912c in xmalloc /home/nu1lptr/afl/indent/src/globs.c:42:17
#2 0x55d7c3304904 in indent_main_loop
/home/nu1lptr/afl/indent/src/indent.c:672:9
#3 0x55d7c3304904 in indent /home/nu1lptr/afl/indent/src/indent.c:759:12
#4 0x55d7c32ff361 in indent_multiple_files
/home/nu1lptr/afl/indent/src/indent.c:938:18
#5 0x55d7c32ff361 in indent_all
/home/nu1lptr/afl/indent/src/indent.c:1036:23
#6 0x55d7c32ff361 in main /home/nu1lptr/afl/indent/src/indent.c:1123:23
#7 0x7fb444e29d8f in __libc_start_call_main
csu/../sysdeps/nptl/libc_start_call_main.h:58:16
SUMMARY: AddressSanitizer: heap-buffer-overflow
/home/nu1lptr/afl/indent/src/output.c:319:13 in set_buf_break
Shadow bytes around the buggy address:
0x602000000100: fa fa 06 fa fa fa 06 fa fa fa 06 fa fa fa 06 fa
0x602000000180: fa fa 06 fa fa fa 06 fa fa fa 07 fa fa fa 07 fa
0x602000000200: fa fa 00 fa fa fa 00 02 fa fa fd fa fa fa fd fa
0x602000000280: fa fa fd fa fa fa fd fd fa fa 00 fa fa fa fd fa
0x602000000300: fa fa fd fa fa fa fd fa fa fa fd fd fa fa fd fd
=>0x602000000380: fa fa fd fd fa fa fd fd fa fa fd fd fa[fa]00 00
0x602000000400: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x602000000480: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x602000000500: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x602000000580: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x602000000600: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==1429449==ABORTING
```
### System Info
Linux ip-10-0-1-50 6.2.0-1013-aws #13~22.04.1-Ubuntu SMP Fri Sep 8
17:29:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
### CREDIT
[INFOSECIITR](https://infoseciitr.in)
- HEAP BUFFER OVERFLOW BUG,
abhishek singh <=