---
id: "CVE-2026-104020"
kind: "vulnerability"
aliases: ["CVE-2026-104020"]
title: "Amazon Ion Python: deeply nested Ion data crashes the reader, denial of service"
severity: "high"
cvss: 8.7
epss: 0.00441
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["amazon-ion", "aws", "lab-disclosure", "package", "python", "self-hosted"]
not_affected_if: ["no-ion-parsing", "trusted-input-only"]
published_at: "2026-10-01T21:17:18+00:00"
first_seen_at: "2026-10-24T20:05:35+00:00"
updated_at: "2026-10-25T12:38:49+00:00"
sources: [{"source": "lab", "url": "https://aws.amazon.com/security/security-bulletins/rss/2026-122-aws/", "first_seen_at": "2026-10-24T20:05:35+00:00"}, {"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-104020", "first_seen_at": "2026-10-24T20:15:27+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-104020", "first_seen_at": "2026-10-25T12:38:49+00:00"}]
---

# Amazon Ion Python: deeply nested Ion data crashes the reader, denial of service

Amazon Ion Python before 0.15.0 has uncontrolled recursion in its Ion reader: a crafted, deeply nested Ion value makes the application raise an error or crash. An attacker who can feed it data gets a denial of service.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Run `pip show amazon-ion` (or `pip freeze | grep -i ion`) and check whether the installed version is below `0.15.0`.
- Search dependency lock files for `amazon-ion` to find where it is pulled in, including transitive dependencies.

## Fix

- Upgrade the `amazon-ion` package to `0.15.0` or later.
- Patch any forked or vendored copies of the Ion reader code to include the fix.
- Workaround if upgrading is not possible: set `simpleion.c_ext = False` and explicitly handle `RecursionError` raised from the simpleion module.

## Mitigated for you by

- Team (workaround): covers Deeply nested Ion values parsed by the simpleion module, by disabling the C extension and handling RecursionError raised from simpleion Limits: none stated Still: Set simpleion.c_ext = False and explicitly handle RecursionError raised from within the simpleion module; upgrade to 0.15.0 for the fix https://aws.amazon.com/security/security-bulletins/rss/2026-122-aws/

## Timeline

- 2026-10-24T20:05:35+00:00 lab https://aws.amazon.com/security/security-bulletins/rss/2026-122-aws/ — AWS: CVE-2026-104020 - Uncontrolled recursion in the Ion reader in Amazon Ion Python
- 2026-10-24T20:15:27+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-104020
- 2026-10-25T12:38:49+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-104020

## Documents

- [advisory] AWS: CVE-2026-104020 - Uncontrolled recursion in the Ion reader in Amazon Ion Python https://aws.amazon.com/security/security-bulletins/rss/2026-122-aws/

## From the sources

CVE-2026-104020 - Uncontrolled recursion in the Ion reader in Amazon Ion Python

### CVE-2026-104020 - Uncontrolled recursion in the Ion reader in Amazon Ion Python

Bulletin ID: 2026-122-AWS Scope: AWS Content Type: Important (requires attention) Publication Date: 10/01/2026 13:30 PM PDT

Description:

Amazon Ion Python is an open-source Python implementation of the Amazon Ion data notation. We identified CVE-2026-104020, an issue in the Ion reader in Amazon Ion Python before version 0.15.0 where a crafted, deeply nested Ion value could cause the application to raise an error or crash, resulting in a denial of service.

Impacted versions: < 0.15.0

Resolution:

This issue has been addressed in Amazon Ion Python version 0.15.0. We recommend upgrading to the latest version and ensuring any forked or derivative code is patched to incorporate the new fixes.

Workarounds:

Disable ion-python's C extension (simpleion.c_ext = False) and explicitly handle RecursionError raised from within the simpleion module.

References:

- CVE-2026-104020
- GHSA-93q6-f8hx-vv7f

Acknowledgement:

We would like to thank Weiqi Wang and Lucas C. Cordeiro, University of Manchester, for collaborating on this issue through the coordinated vulnerability disclosure process.

 Please email aws-security@amazon.com with any security questions or concerns..

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
