CVE-2026-32889 Details
Description
tinytag is a Python library for reading audio file metadata. Version 2.2.0 allows an attacker who can supply MP3 files for parsing to trigger a non-terminating loop while the library parses an ID3v2 SYLT (synchronized lyrics) frame. In server-side deployments that automatically parse attacker-supplied files, a single 498-byte MP3 can cause the parsing operation to stop making progress and remain busy until the worker or process is terminated. The root cause is that _parse_synced_lyrics assumes _find_string_end_pos always returns a position greater than the current offset. That assumption is false when no string terminator is present in the remaining frame content. This issue has been fixed in version 2.2.1.
A denial-of-service vulnerability has been identified in the tinytag Python library, specifically in version 2.2.0. This issue arises when the library parses MP3 files containing ID3v2 SYLT (synchronized lyrics) frames. The vulnerability allows an attacker to create a malicious MP3 file that, when processed by tinytag, triggers an infinite loop in the parsing function. This loop continues indefinitely until the active process or worker is manually terminated. The problem stems from an incorrect assumption in the parsing logic, where the absence of a string terminator in the SYLT frame content leads to a reset of the parsing offset, causing the loop to stall. In server-side applications that automatically handle user-uploaded files, this vulnerability can be exploited with a single 498-byte MP3 file, effectively freezing the parsing operation and disrupting normal workflow.
Users can upgrade to tinytag version 2.2.1, which addresses this vulnerability by ensuring that the string end position function correctly handles cases without a terminator, preventing the infinite loop in SYLT frame parsing.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
CISA-ADP
Assessed Mar 21, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-835 | Loop with Unreachable Exit Condition ('Infinite Loop') | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| tinytag tinytag | 2.2.0 |
CPE
Remediation
| |
Change History
5 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | [email protected] |
| Jun 17, 2026 | CVE Modified | CISA-ADP |
| May 14, 2026 | Reanalysis | [email protected] |
| Mar 30, 2026 | Initial Analysis | [email protected] |
| Mar 20, 2026 | New CVE Received | [email protected] |