CVE-2026-84851 Overview
CVE-2026-84851 is an uncontrolled recursion vulnerability [CWE-674] in Amazon Ion-C versions prior to 1.1.6. A remote unauthenticated attacker can craft malicious Ion data that exhausts the native call stack when parsed. The result is a process crash in any application linking the vulnerable library, producing a denial-of-service condition.
Amazon published details in AWS Security Bulletin 2026-094 and GitHub Security Advisory GHSA-9gfg-hgj4-gh44. The fix ships in Ion-C release v1.1.6.
Critical Impact
Unauthenticated remote attackers can crash any service that parses attacker-controlled Ion data using Ion-C prior to 1.1.6.
Affected Products
- Amazon Ion-C versions prior to 1.1.6
- Applications and services that embed vulnerable Ion-C builds for parsing Ion data
- Downstream libraries and language bindings that link Ion-C for binary or text Ion decoding
Discovery Timeline
- 2026-09-03 - CVE-2026-84851 published to NVD
- 2026-09-03 - Last updated in NVD database
Technical Details for CVE-2026-84851
Vulnerability Analysis
Amazon Ion is a richly typed, self-describing data serialization format that supports nested containers such as structs, lists, and s-expressions. Ion-C is the reference C implementation used for parsing and writing Ion data.
The parser processes nested containers recursively. When an input document contains an excessive depth of nested containers, each level consumes a native stack frame. The parser does not enforce a maximum nesting depth before descending, so the recursion continues until the process runs out of stack space.
Stack exhaustion terminates the calling process with a segmentation fault or equivalent signal. Because Ion-C is commonly embedded in services that accept externally supplied data, an attacker only needs the ability to submit an Ion payload to the target parser to trigger the crash.
Root Cause
The root cause is uncontrolled recursion during container traversal in the Ion-C parser. The library recurses into nested containers without validating input depth against a bounded limit. Attackers control nesting depth by constructing a document with deeply chained containers, and the parser mirrors that depth on the native call stack.
Attack Vector
Exploitation requires no authentication and no user interaction. The attacker delivers a crafted Ion document to any endpoint or workflow that decodes Ion using a vulnerable Ion-C build. Typical attack surfaces include API endpoints, message queue consumers, file ingestion pipelines, and analytics services that accept Ion payloads from external sources.
The vulnerability affects availability only. It does not lead to memory disclosure, code execution, or integrity impact based on the advisory. Repeated payload delivery can produce a sustained denial-of-service condition against the target service.
Refer to GHSA-9gfg-hgj4-gh44 for advisory details. No public proof-of-concept exploit is currently listed.
Detection Methods for CVE-2026-84851
Indicators of Compromise
- Unexpected process termination or segmentation faults in services that parse Ion data, correlated with recent inbound requests carrying Ion payloads.
- Core dumps or crash telemetry showing deep recursive call chains inside Ion-C parsing functions.
- Spikes in SIGSEGV or SIGABRT events on hosts running services that consume Ion input.
Detection Strategies
- Inventory all binaries and containers linking Ion-C and identify versions below 1.1.6.
- Inspect network and application logs for oversized or abnormally structured Ion payloads submitted to public-facing endpoints.
- Add crash monitoring and automatic core-dump capture to any service that parses Ion data from untrusted sources.
Monitoring Recommendations
- Alert on repeated crashes or restarts of services that ingest Ion documents from external clients.
- Track request patterns showing a single source submitting malformed Ion payloads immediately before service failures.
- Correlate application crash telemetry with upstream load balancer and API gateway logs to identify the triggering client.
How to Mitigate CVE-2026-84851
Immediate Actions Required
- Upgrade Ion-C to version 1.1.6 or later in all applications, containers, and language bindings that depend on it.
- Rebuild and redeploy any statically linked artifacts that embed Ion-C to ensure the patched library is present.
- Audit third-party dependencies for transitive use of vulnerable Ion-C builds.
Patch Information
The fix is available in Amazon Ion-C release v1.1.6. Amazon documents affected services and remediation in AWS Security Bulletin 2026-094. Apply the vendor advisory guidance to any downstream package that repackages Ion-C.
Workarounds
- Reject Ion payloads exceeding a conservative size limit at the network or application boundary before they reach the parser.
- Where feasible, enforce a maximum container nesting depth in wrapper code that validates the input structure prior to decoding.
- Isolate Ion parsing in a sandboxed process or worker so that a crash does not terminate the parent service, and add automatic restart with rate limiting.
# Configuration example: verify installed Ion-C version and update
dpkg -l | grep ion-c
# or, when built from source:
git -C ion-c fetch --tags
git -C ion-c checkout v1.1.6
cmake -S ion-c -B ion-c/build && cmake --build ion-c/build
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

