Skip to main content

bincookie EUVDEUVD-2026-102203

| CVE-2026-55246 HIGH
Heap-based Buffer Overflow (CWE-122)
2026-10-15 GitHub_M
7.8
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Deliver crafted .binarycookies file to victim
  2. Delivery
    Victim app calls bincookie_init_file()
  3. Exploit
    Oversized num_pages/offsets overrun heap buffer
  4. Execution
    Heap corruption during page/cookie iteration
  5. Impact
    Crash 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

bincookie < 0.1.9

Affected Packages

euvd bincookie fix: 0.1.9

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

Vendor (GitHub_M) PRIMARY 7.8 HIGH
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 7.8 HIGH

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.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Oct 15, 2026 - 18:18 EUVD
CVE Published
Oct 15, 2026 - 17:06 cve.org
HIGH 7.8

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Rare
obscure header-only single-developer parser, negligible production footprint
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Defer
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy