6.5 MEDIUM
- CVSS version: 3.1
- Attack vector (AV): NETWORK
- Attack complexity (AC): LOW
- Privileges required (PR): NONE
- User interaction (UI): REQUIRED
- Scope (S): UNCHANGED
- Confidentiality impact (C): NONE
- Integrity impact (I): NONE
- Availability impact (A): HIGH
tinytag: Denial of Service via non-terminating SYLT frame parsing loop
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.
References
-
https://github.com/tinytag/tinytag/security/advisories/GHSA-f4rq-2259-hv29 x_refsource_CONFIRM
Affected products
- ==>= 2.2.0, < 2.2.1
Matching in nixpkgs
pkgs.python312Packages.tinytag
Read audio file metadata
pkgs.python313Packages.tinytag
Read audio file metadata
pkgs.python314Packages.tinytag
Read audio file metadata
Package maintainers
-
@Sigmanificient Yohann Boniface <sigmanificient@gmail.com>