{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "extracted_events": [
              {
                "introduced": "2.2.0"
              },
              {
                "fixed": "2.2.1"
              }
            ],
            "source": "AFFECTED_FIELD"
          },
          "events": [
            {
              "introduced": "6f1d3060f393743c2ec34d07c0855cceed827244"
            },
            {
              "fixed": "7bd4e392cc6696430d19535546b991906fec59d0"
            }
          ],
          "repo": "https://github.com/tinytag/tinytag",
          "type": "GIT"
        }
      ],
      "versions": [
        "2.2.0"
      ]
    }
  ],
  "aliases": [
    "GHSA-f4rq-2259-hv29"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-835"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/32xxx/CVE-2026-32889.json"
  },
  "details": "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.",
  "id": "CVE-2026-32889",
  "modified": "2026-08-12T03:51:38.276606255Z",
  "published": "2026-03-20T02:23:25.079Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/32xxx/CVE-2026-32889.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/tinytag/tinytag/security/advisories/GHSA-f4rq-2259-hv29"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-32889"
    },
    {
      "type": "FIX",
      "url": "https://github.com/tinytag/tinytag/commit/44e496310f7ced8077e9087e3774acbaa324b18a"
    },
    {
      "type": "FIX",
      "url": "https://github.com/tinytag/tinytag/commit/4d649b9c314ada8ff8a74e0469e9aadb3acb252a"
    },
    {
      "type": "FIX",
      "url": "https://github.com/tinytag/tinytag/commit/5cd321521ff097e41724b601d7e3d7adc7e53402"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "tinytag: Denial of Service via non-terminating SYLT frame parsing loop"
}