Global-buffer-overflow in libxaac: iusace_quantize_lines

libxaac Updated 02 Oct 2025

Summary

12/09/2023
N/A
Yes i
Unrated
Not published

OSV-2023-839: Global-buffer-overflow in iusace_quantize_lines. Affects libxaac versions >= 5ee1f8c8485f99c24968466a1ec15b081c86fa23, < 56716426e2087e604ee6267129857b409e53ab09. Fixed in 56716426e2087e604ee6267129857b409e53ab09. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

libxaac is an open-source library that provides an implementation of the Advanced Audio Coding (AAC) audio compression standard. It is commonly used in multimedia applications to encode and decode AAC audio streams. The library offers various functions for audio processing, including quantization and spectral analysis. However, a vulnerability has been discovered in the library's iusace_quantize_lines function, which can lead to a global buffer overflow.

Vulnerability Detail

The vulnerability in libxaac's iusace_quantize_lines function allows for a global buffer overflow when reading 4 bytes. This can be triggered by a specific input, causing the function to crash. The issue was reported through the OSS-Fuzz project, and the crash state indicates that the overflow occurs within the iusace_quantize_spec and iusace_fd_encode functions as well. The impact of this vulnerability could potentially lead to arbitrary code execution or denial of service.

How To Fix

Minimum fixed version

56716426e2087e604ee6267129857b409e53ab09

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

As a workaround, developers can implement input validation and bounds checking in their applications that utilize libxaac. By ensuring that the input to the iusace_quantize_lines function is within the expected range, the buffer overflow can be prevented. Here is an example of how input validation can be performed in C:

void process_audio_data(int* audio_data, int num_samples) {
  if (num_samples > MAX_SAMPLES) {
    // Handle error or truncate the input
    return;
  }

  iusace_quantize_lines(audio_data, num_samples);
}

Conclusion

In conclusion, libxaac is vulnerable to a global buffer overflow in the iusace_quantize_lines function. This vulnerability can have severe consequences, including arbitrary code execution or denial of service. It is crucial to update to a fixed version of libxaac or implement input validation to mitigate the risk. For further support on vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for libxaac →

Share this vulnerability

FAQ

libxaac is an open-source library that provides an implementation of the Advanced Audio Coding (AAC) audio compression standard. It is commonly used in multimedia applications for encoding and decoding AAC audio streams.

The vulnerability in libxaac's iusace_quantize_lines function can lead to a global buffer overflow. This could potentially allow an attacker to execute arbitrary code or cause a denial of service.

This vulnerability was discovered through the OSS-Fuzz project, which performs continuous fuzz testing on open-source software. The crash state indicated a global buffer overflow when reading 4 bytes.

Yes, the vulnerability has been fixed in commit 56716426e2087e604ee6267129857b409e53ab09 of the libxaac GitHub repository. It is recommended to update to this commit or a later version to resolve the issue.

Developers can implement input validation and bounds checking in their applications that use libxaac to prevent the buffer overflow. By ensuring that the input to the iusace_quantize_lines function is within the expected range, the vulnerability can be mitigated.

Related vulnerabilities

Recent vulnerabilities recorded for libxaac.

How To Fix

Minimum fixed version

56716426e2087e604ee6267129857b409e53ab09

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback