Description
tinytag is a Python library for reading audio file metadata. From 2.0.0 until 2.3.0, an M4A file containing a sub-atom with a size of zero inside a ---- atom can cause the metadata parser to stop advancing through the input. The custom-field atom traversal repeatedly processes the malformed location, causing an infinite loop and denying service to a program that reads the crafted file. This issue is fixed in version 2.3.0.
Published: 2026-10-15
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Patch
AI Analysis

Impact

A flaw in tinytag, a Python library for reading audio file metadata, causes the parser to enter an infinite loop when it encounters an M4A file that contains a sub‑atom with a zero size inside a ---- atom. The parser repeatedly processes the malformed atom without advancing the read pointer, eventually consuming all CPU resources of the process that invoked it. The effect is a denial of service against any application that attempts to read the crafted file, as the parsing operation will never terminate.

Affected Systems

The vulnerability affects versions of tinytag from 2.0.0 through 2.2.x, which are widely used in Python projects for extracting metadata from MP4/M4A audio files. The fix was introduced in version 2.3.0, which restores proper handling of zero‑length atoms and prevents the parser from looping indefinitely.

Risk and Exploitability

The CVSS score of 6.5 classifies the issue as moderate severity. The EPSS score is not available, so the current exploitation likelihood is unclear. Because the vulnerability only causes a denial of service and does not allow code execution, it is listed as a functional flaw. Adversaries could exploit it by delivering a malicious M4A file to any service that relies on tinytag for metadata extraction, resulting in service disruption. The vulnerability is not currently catalogued in the CISA KEV list. The recommended attack vector is local or remote supply of a specially crafted file to an application that imports tinytag.

Generated by OpenCVE AI on October 16, 2026 at 06:44 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade tinytag to version 2.3.0 or later.
  • Add code to check for zero‑size atoms before invoking tinytag parsing and reject such files.
  • Update application logic to catch parsing exceptions and prevent service hangs when malformed data is encountered.

Generated by OpenCVE AI on October 16, 2026 at 06:44 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-24cc-9352-h2pg tinytag: Infinite loop when parsing certain M4A files containing invalid atoms
History

Thu, 22 Oct 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Sat, 17 Oct 2026 04:15:00 +0000

Type Values Removed Values Added
First Time appeared Tinytag
Tinytag tinytag
Vendors & Products Tinytag
Tinytag tinytag

Fri, 16 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Moderate


Thu, 15 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Description tinytag is a Python library for reading audio file metadata. From 2.0.0 until 2.3.0, an M4A file containing a sub-atom with a size of zero inside a ---- atom can cause the metadata parser to stop advancing through the input. The custom-field atom traversal repeatedly processes the malformed location, causing an infinite loop and denying service to a program that reads the crafted file. This issue is fixed in version 2.3.0.
Title tinytag: Infinite loop when parsing certain M4A files containing invalid atoms
Weaknesses CWE-835
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-21T01:00:05.989Z

Reserved: 2026-10-01T19:04:39.707Z

Link: CVE-2026-104266

cve-icon Vulnrichment

Updated: 2026-10-21T00:59:59.515Z

cve-icon NVD

Status : Deferred

Published: 2026-10-15T18:17:22.983

Modified: 2026-10-21T01:17:19.640

Link: CVE-2026-104266

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-15T17:13:26Z

Links: CVE-2026-104266 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-17T04:00:03Z

Weaknesses
  • CWE-835

    Loop with Unreachable Exit Condition ('Infinite Loop')