[prev in list] [next in list] [prev in thread] [next in thread] 

List:       full-disclosure
Subject:    [FD] NetBSD overflow
From:       Erg Noor <fuzzingrf () yandex ! ru>
Date:       2023-03-01 16:02:10
Message-ID: 97a9d539-a9d5-eaa4-1d99-6ed499bc9cad () yandex ! ru
[Download RAW message or body]

Hi,

Trivial overflow in hfslib_reada_node_offset, while loop has no range 
checks.

|size_t hfslib_reada_node_offsets(void* in_bytes, uint16_t* 
out_offset_array) { void* ptr; if (in_bytes == NULL || out_offset_array 
== NULL) return 0; ptr = in_bytes; out_offset_array--; do { 
out_offset_array++; *out_offset_array = be16tohp(&ptr); } while 
(*out_offset_array != (uint16_t)14); return ((uint8_t*)ptr - 
(uint8_t*)in_bytes); }|

Repro is here https://github.com/fuzzingrf/netbsd_hfs

_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic