Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend crafted FlatBuffers buffer to 32-bit flatcc verifier
-
ExploitCrafted offset wraps arithmetic past dead-code guard
-
ExecutionOut-of-bounds read before buffer start
-
ImpactProcess crashes, denial of service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
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 two concrete conditions: (1) the target application must be compiled as a 32-bit build of flatcc, because the integer overflow in check_header relies on uoffset_t arithmetic wrapping that does not occur on 64-bit builds; and (2) the application must pass an attacker-supplied FlatBuffers buffer through the flatcc verifier (check_header path). The overflow guard was ineffective because its condition |
| Impact | This is a genuinely moderate-to-low priority issue rather than an urgent one, and the signals are internally consistent. The CVSS 4.0 vector (6.3, Medium) shows AV:N but AT:P and an impact profile of VA:L with VC:N/VI:N - meaning the only consequence is partial availability loss (a process crash), with no confidentiality or integrity impact. This aligns with the description: an out-of-bounds read before the buffer that crashes the process, i.e. a denial-of-service, not an information-disclosure bug despite the word 'read'. EPSS is low at 0.38% (32nd percentile), SSVC reports Exploitation: none, Automatable: no, Technical Impact: partial, and the vuln is NOT in CISA KEV, so there is no evidence of active exploitation. A public PoC reference exists (the hackmd write-up and VulnCheck advisory); it is not verified as working exploit code, so PoC availability must not be conflated with active exploitation. The decision label is this_month, not act_now/emergency. A key limiting factor the raw score understates: the overflow only manifests on 32-bit builds (reflected as AT:P), so 64-bit deployments are not exposed - this substantially narrows real-world risk. |
| Exploit ScenarioDerived | A service built against 32-bit flatcc that runs the FlatBuffers verifier on untrusted input (for example a network daemon parsing serialized messages) receives a buffer whose offset is crafted to wrap the arithmetic in check_header. Because the overflow guard is dead code, the bounds check is bypassed, an out-of-bounds read occurs before the buffer, and the process crashes, producing a denial of service. A public PoC reference exists (hackmd write-up); it is not verified as working exploit code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
An out-of-bounds read in the flatcc FlatBuffers verifier (check_header, through version 0.6.4) lets a crafted buffer crash 32-bit applications that verify untrusted input. The root cause is an integer overflow in offset arithmetic whose guard is dead code - the condition uoffset_size <= voffset_size is always false because uoffset_t is 4 bytes and voffset_t is 2 bytes - so on 32-bit builds the wrap bypasses the bounds check and reads memory before the buffer. Impact is availability only (process crash; no code execution or data disclosure per available evidence), exploitation requires both a 32-bit build and a verifier pass over attacker-supplied data, no public exploit code has been identified at time of analysis (SSVC exploitation: none, EPSS 0.38%, 32nd percentile), and an upstream fix commit is available.
RemediationAI
Apply the upstream fix commit 0df9c097a19badc8bd22d93af8fd47bd291e5d9f (CHANGELOG: "Fix incorrect overflow guard in verifier", FINDING 2 in issue #400) or build from a flatcc revision that includes it; the vendor reports a patch as available, but a tagged release containing the fix was not independently confirmed at time of analysis, so verify before relying on a version number. Because the flaw only manifests on 32-bit builds, moving the affected service to a 64-bit build eliminates the wraparound path entirely, at the cost of a rebuild and any 32-bit-only dependency constraints. If patching or re-architecting is not immediately possible, avoid running the flatcc verifier over untrusted FlatBuffers in 32-bit processes (restrict input to trusted, internally generated buffers), or isolate the verification/parsing step in a low-privilege, restartable worker process so an out-of-bounds read only terminates that worker - this limits the crash impact but does not remove the underlying bug. Ensure parse/verify failures are handled gracefully rather than aborting a shared parent process, and track the vendor advisory at https://www.vulncheck.com/advisories/flatcc-through-0.6.4-out-of-bounds-read-via-verifier-check-header for release information.
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
flatcc is a C implementation and compiler for FlatBuffers, and its runtime verifier (src/runtime/verifier.c, lines ~126-137 in v0.6.4) validates buffer offsets before dereferencing them. check_header() computes a position k from a uoffset_t (32-bit unsigned) base and offset and then compares k + offset_size < k to detect wraparound; on 32-bit builds that addition can wrap, so an attacker-chosen offset passes the bounds check and causes an out-of-bounds read before the start of the buffer. The guard intended to prevent this - the compound condition uoffset_size <= voffset_size - was always false (uoffset_size is 4, voffset_size is 2), making it dead code; the upstream commit 0df9c097a19badc8bd22d93af8fd47bd291e5d9f removes that clause so the overflow check actually runs. The class is CWE-190 (integer overflow/wraparound) leading to an out-of-bounds read, and the fix changelog ties it to FINDING 2 in GitHub issue #400, alongside a separate JSON numeric parser overrun (FINDING 1) documented in the linked HackMD writeup. The 64-bit build is unaffected because uoffset_t arithmetic does not wrap there, and the trigger requires the application to run the verifier on attacker-controlled buffer data - the exact conditions are confirmed for the verifier path but no code-execution or information-disclosure primitive is described in the available sources.
Know when Flatcc 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
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Crash-only out-of-bounds read gives A:L with C:N/I:N; attacker sends a buffer remotely (AV:N, PR:N, UI:N); the 32-bit-build requirement makes it AC:H.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
flatcc through 0.6.4 contains an integer overflow vulnerability in the check_header function of the FlatBuffers verifier because its overflow guard is dead code. On 32-bit builds, attackers can supply a crafted buffer offset that wraps the bounds check, causing an out-of-bounds read before the buffer and crashing the process.
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.
Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.
Reachable assertion in the flatcc FlatBuffers schema compiler (versions 0.6.0-0.6.3) crashes the compiler process when a
Reachable assertion in the flatcc FlatBuffers compiler (versions 0.6.0-0.6.3) allows remote attackers to crash the compi
An out-of-bounds read in flatcc's JSON parser runtime (__flatcc_json_parser_number, src/runtime/json_parser.c) affects v
EUVD-2026-110482
GHSA-ch33-r734-vw2g
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB