🔍 CVE-2026-32889

6.5
CVSS Score
MEDIUM
2026-03-20
2026-05-14 20:22
✅ 완료

🇰🇷 한글 설명

tinytag 파이썬 라이브러리 2.2.0에서 MP3 파일의 ID3v2 SYLT 동기화된 가사 프레임을 파싱할 때 문자열 종료자가 없으면 무한 루프가 발생합니다. 악의적으로 조작된 498바이트 MP3 파일 하나로 서버 프로세스를 영구적으로 정지시킬 수 있으며, 2.2.1에서 수정되었습니다.

💡 쉬운 설명

음악 정보를 읽는 tinytag 프로그램에 버그가 있어서 특정 MP3 파일을 처리할 때 컴퓨터가 계속 멈춘 상태가 됩니다. 공격자가 특별히 만든 MP3 파일을 서버에 올리기만 하면 처리 과정이 영원히 멈춰서 서비스를 할 수 없게 만들 수 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

tinytag 2.2.0 (Python 라이브러리)

⚔️ 공격 벡터

공격자가 악의적으로 제작한 MP3 파일을 자동으로 파싱하는 서버에 업로드하여 무한 루프 트리거

🛡️ 대응 방법

tinytag을 2.2.1 이상으로 업그레이드 (pip install --upgrade tinytag)

🔧 검증 코드

2.2.1 이상이면 안전함, 2.2.0 또는 설치 안 됨 표시는 취약

Shell / Script
python3 -c "import tinytag; print('Version:', tinytag.__version__)" 2>/dev/null || echo 'tinytag not installed'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Python