NetBSD overflow


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/


Source: 0/raM/3202/erusolcsidlluf/gro.stsilces

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论