---
id: "GHSA-93q6-f8hx-vv7f"
kind: "vulnerability"
aliases: ["GHSA-93q6-f8hx-vv7f"]
title: "CVE-2026-104020 - Uncontrolled recursion in the Ion reader in Amazon Ion Python"
severity: "medium"
cvss: null
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["amazon-ion", "aws", "ion-python", "lab-disclosure", "package", "python"]
not_affected_if: ["no-untrusted-ion-input", "version-0.15.0-or-later"]
published_at: null
first_seen_at: "2026-10-24T20:05:35+00:00"
updated_at: "2026-10-25T04:50:12+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"}]
---

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

Amazon Ion Python before 0.15.0 has an uncontrolled recursion flaw in its Ion reader. A crafted, deeply nested Ion value makes the application raise an error or crash.

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

## How to check

- Check the installed version with `pip show amazon-ion` (or `pip show ion-python`) and compare it to `0.15.0`.
- Check whether the application parses untrusted Ion input with the simpleion reader.

## Fix

- Upgrade Amazon Ion Python to `0.15.0` or later.
- Ensure any forked or vendored copy of the code includes the fix.
- Workaround if upgrading is not possible: set `simpleion.c_ext = False` and 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

## 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_
