bincookie: Heap buffer overflow via unvalidated `num_pages` when parsing a `.binarycookies` file
What fixes it
- 0.1.9bincookie, c library headerGitHub
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
bincookie is a header-only binarycookies parser. Prior to 0.1.9, bincookie_init_file() in bincookie.h allocates a buffer using the actual .binarycookies file length but trusts the file-controlled num_pages field as the loop bound for byte-swapping page_sizes entries. A crafted file can make the loop read and write beyond the heap allocation, and related unvalidated page sizes and cookie_offsets can drive additional out-of-bounds accesses in page and cookie iteration. Applications that parse an attacker-supplied binarycookies file may crash or suffer heap corruption that can potentially enable code execution. This issue is fixed in version 0.1.9.
Text from CVE List
Affected versions 2
- bincookieaffected: < 0.1.9CVE List
- bincookie, c library header<= 0.1.8GitHub