CVE-2026-37555

libsndfile: integer overflow in ima_reader_init()

Published Apr 29, 2026 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
Description
An issue was discovered in libsndfile 1.2.2 IMA ADPCM codec. The AIFF code path (line 241) was fixed with (sf_count_t) cast, but the WAV code path (line 235) and close path (line 167) were not. When samplesperblock (int) * blocks (int) exceeds INT_MAX, the 32-bit multiplication overflows before being assigned to sf.frames (sf_count_t/int64). With samplesperblock=50000 and blocks=50000, the product 2500000000 overflows to -1794967296. This causes incorrect frame count leading to heap buffer overflow or denial of service. Both values come from the WAV file header and are attacker-controlled. This issue was discovered after an incomplete fix for CVE-2022-33065.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Title Overflow in WAV Header Field Causes Heap Buffer Overrun in libsndfile's IMA ADPCM Codec libsndfile: integer overflow in ima_reader_init()
References
Metrics threat_severity

None

threat_severity

Important

Type Values Removed Values Added
CPEs cpe:2.3:a:libsndfile_project:libsndfile:1.2.2:*:*:*:*:*:*:*
Type Values Removed Values Added
First Time appeared Libsndfile Project
Libsndfile Project libsndfile
Vendors & Products Libsndfile Project
Libsndfile Project libsndfile
Type Values Removed Values Added
Title Overflow in WAV Header Field Causes Heap Buffer Overrun in libsndfile's IMA ADPCM Codec
Weaknesses CWE-119
CWE-20
Type Values Removed Values Added
Weaknesses CWE-190
Metrics cvssV3_1

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

ssvc

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

Type Values Removed Values Added
Description An issue was discovered in libsndfile 1.2.2 IMA ADPCM codec. The AIFF code path (line 241) was fixed with (sf_count_t) cast, but the WAV code path (line 235) and close path (line 167) were not. When samplesperblock (int) * blocks (int) exceeds INT_MAX, the 32-bit multiplication overflows before being assigned to sf.frames (sf_count_t/int64). With samplesperblock=50000 and blocks=50000, the product 2500000000 overflows to -1794967296. This causes incorrect frame count leading to heap buffer overflow or denial of service. Both values come from the WAV file header and are attacker-controlled. This issue was discovered after an incomplete fix for CVE-2022-33065.
References
Weaknesses

Sources

Status
PUBLISHED
Assigner
mitre
Published
Updated
Jul 15, 2026, 2:48 AM
Reserved
Apr 6, 2026, 12:00 AM
Status
Modified
Published
Apr 29, 2026, 4:16 PM
Modified
Nov 11, 2026, 9:10 PM
Severity
Important
Public date
Apr 29, 2026, 12:00 AM