Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDeliver crafted .binarycookies file to victim
-
DeliveryVictim app calls bincookie_init_file()
-
ExploitOversized num_pages/offsets overrun heap buffer
-
ExecutionHeap corruption during page/cookie iteration
-
ImpactCrash or attacker-controlled code execution
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Heap buffer bounds checking
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that a victim application built against bincookie prior to 0.1.9 be made to parse an attacker-supplied .binarycookies file via bincookie_init_file(); the malicious file sets a num_pages value larger than the real page-size table (or supplies page sizes / cookie_offsets exceeding the buffer) so the unbounded byte-swap and iteration loops run past the heap allocation. There is no network-facing service here - the attacker must deliver the crafted file and the application must invoke the parser on it (AV:L, UI:R), which are the main limiting factors; exploitation does not require authentication to the parsing application (PR:N). Upgrading to 0.1.9 fully mitigates, as malformed files are now rejected with NULL/EIO. |
| Impact | This is a genuine memory-safety flaw (CWE-122 heap-based buffer overflow) in bincookie's bincookie_init_file() parser, where the file-controlled num_pages, page_sizes, and cookie_offsets are trusted as loop bounds against a buffer sized only to the real file length, enabling out-of-bounds heap reads/writes. The provided CVSS 3.1 vector (AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H = 7.8 HIGH) is internally consistent and matches the description: exploitation is LOCAL (AV:L) because an attacker must get a crafted .binarycookies file to a victim application, and it requires user interaction (UI:R) in the sense that the application must be induced to parse the malicious file. No EPSS score was supplied in the input, and the CVE is NOT on CISA KEV; no public proof-of-concept is referenced (the only code artifact is the vendor patch commit, not an exploit). Signals therefore point to a real-but-not-urgent issue: the technical impact is high (potential code execution via heap corruption, hence the RCE tag) but there is no evidence of active or at-scale exploitation, and the local/file-delivery attack vector plus the product's obscurity sharply limit real-world reach. Note a CWE discrepancy to verify: the input labels this CWE-122 (heap overflow) while the vendor changelog cites CWE-787 (out-of-bounds write) - these are closely related and not conflicting in substance. Realistic prioritization: moderate - patch promptly in any software that embeds this header, but it is not a mass-exploitation emergency. |
| Exploit ScenarioDerived | An attacker crafts a malicious .binarycookies file with an inflated num_pages (or bogus page sizes/cookie offsets) and delivers it to a victim who runs an application linking bincookie <0.1.9. When the application calls bincookie_init_file() to parse the file, the byte-swap and iteration loops read and write past the heap allocation, crashing the process or corrupting the heap in a way that may be steered toward code execution. No public exploit code is identified at time of analysis, and the attack requires the victim to open/parse the attacker-supplied file. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Heap-based out-of-bounds reads and writes in bincookie prior to 0.1.9 occur when an application calls bincookie_init_file() on an attacker-supplied .binarycookies file, allowing the crafted input to drive byte-swap and iteration loops past a heap buffer sized only to the real file length. The vulnerable parser trusts file-controlled num_pages, page_sizes, and cookie_offsets as loop bounds, so malformed files can crash the host application or corrupt heap metadata in ways that could potentially lead to code execution. Exploitation requires local delivery of the crafted file and user interaction to make the target application parse it (CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H, score 7.8); no authentication to the parsing application is needed, and there is no public exploit identified at time of analysis. Version 0.1.9 fixes the issue by rejecting malformed files.
RemediationAI
Upgrade to bincookie 0.1.9 or later - the vendor-released patch is version 0.1.9 (release notes: https://github.com/Tatsh/bincookie/releases/tag/v0.1.9; source fix: https://github.com/Tatsh/bincookie/commit/bc1433c1ee4d0284750ff85c8437f1b8df91ab3b). Because the library is header-only, remediation means recompiling every consuming application against the 0.1.9 bincookie.h rather than only updating a package; audit vendored or forked copies of the header, since a stale copy will continue to compile in the vulnerable loop bounds. The patch adds a header-size check, bounds num_pages against the bytes read, and runs a full bincookie_validate_pages() pass over page headers, cookie offset tables, cookie records, and cookie string offsets; malformed input now returns NULL with errno set to EIO, so callers that previously assumed non-NULL returns should also be reviewed for error handling. Where upgrading immediately is not possible, compensating controls are: refuse to call bincookie_init_file() on files from untrusted or user-supplied sources, and if untrusted files must be handled, process them only in a sandboxed or low-privilege child process with strict size limits and memory protections so that a crash or heap corruption is contained - both approaches reduce exposure but do not fix the underlying out-of-bounds access, and they carry the trade-off of breaking legitimate parsing of externally supplied .binarycookies files. See the vendor advisory at https://github.com/Tatsh/bincookie/security/advisories/GHSA-22pc-xxw4-q849 for the authoritative fix description.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
bincookie is a header-only C library (bincookie.h) for parsing Apple .binarycookies files, so the vulnerable code is compiled directly into any consuming application and is exposed wherever such an application accepts or opens an untrusted cookie file. The root cause is a heap-based buffer overflow (CWE-122; the upstream fix commit classifies the same defect as CWE-787, out-of-bounds write). bincookie_init_file() reads the file into a heap buffer sized to the actual on-disk file length, but then uses the file-supplied num_pages field as the bound for the loop that byte-swaps the page_sizes table, and subsequently relies on unvalidated page sizes and cookie_offsets when iterating pages and cookies. Because those counts and offsets are attacker-controlled and never compared against the real allocation size, the loops read and write outside the buffer - a number of bytes read far below the file's true structural size is sufficient to trigger the overflow. The fix adds a header-size check, bounds num_pages against the bytes actually read, and introduces a structural validation pass (bincookie_validate_pages) that walks every page header, cookie offset table, cookie record, and cookie string offset (domain_offset, name_offset, path_offset, value_offset) before returning the parsed buffer. Malformed files now cause bincookie_init_file() to return NULL with errno set to EIO rather than producing a corrupted heap object. The affected CPE is cpe:2.3:a:tatsh:bincookie:*:*:*:*:*:*:*:*, covering every release before 0.1.9.
Know when Bincookie gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
File must be delivered and parsed locally by the victim app (AV:L, UI:R); no auth to the app is needed (PR:N); heap corruption yields potential code execution, so C/I/A all High.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
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.
Technical POC Analysis
CWE-122 (heap-based buffer overflow), also scored CWE-787 (out-of-bounds write).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A memory-safety flaw in the open-source bincookie library (versions prior to 0.1.9) lets a maliciously crafted .binarycookies file corrupt heap memory in any application that parses it, crashing the host application or potentially handing an attacker code execution at the user's privilege level. Exploitation is local and requires a user to open the file, so practical exposure sits with endpoints and workflows that routinely handle cookie, browser-profile, or forensic artifacts - support desks, IT admins, and investigations teams - rather than with internet-facing servers. Leadership should treat this as a preventive hardening issue: no public exploit has been identified at time of analysis, so the decision window is about inventory and upgrade discipline, not incident response.
No vendor-released patch identified at time of analysis (advisory text points to 0.1.9 as a fix; confirm with upstream). Interim mitigations: block .binarycookies files at email/web gateways and treat them as untrusted input; direct users not to open such files from unverified sources; run any application that parses cookie files with least privilege and, where feasible, inside a sandbox or isolated low-privilege process; validate file length and header fields (num_pages, page_sizes, cookie_offsets) before parsing; and monitor endpoint logs for repeated application crashes tied to cookie-file parsing.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
A heap overflow occurs when a program writes data beyond the bounds of a buffer allocated in the heap memory region.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
EUVD-2026-102203
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB