Skip to main content

flatcc CVE-2026-116734

| EUVDEUVD-2026-110482 MEDIUM
Integer Overflow or Wraparound (CWE-190)
2026-10-26 VulnCheck GHSA-ch33-r734-vw2g
6.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Send crafted FlatBuffers buffer to 32-bit flatcc verifier
  2. Exploit
    Crafted offset wraps arithmetic past dead-code guard
  3. Execution
    Out-of-bounds read before buffer start
  4. Impact
    Process 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 uoffset_size <= voffset_size is always false (uoffset is 4 bytes, voffset 2 bytes), making the check dead code. Limiting factors that reduce realistic exposure: 64-bit deployments are not affected at all, and any application that does not run the verifier on untrusted input is not exposed. Impact is limited to a process crash (no code execution or data disclosure per the available evidence).

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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

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

flatcc 0 ≤0.6.4

Affected Packages

euvd flatcc no fix

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

Vendor (VulnCheck) PRIMARY 6.3 MEDIUM
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
vuln.today AI 3.7 LOW

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.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.4%
Top 68% exploitable
Prevalence
Low
niche third-party C FlatBuffers library, limited production deployment footprint
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
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.

Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.

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