CVE-2025-0838
NoneCVSS
—
EPSS
0.6%
Published
Feb 21, 2025
CISA due date
—
Cloudanix analysis
A problem in a common C++ library could let attackers damage memory inside programs that rely on it, potentially causing crashes or security issues until the software is updated.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Moderate
- Impact
- Data Tampering
- Component
- Library
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Heap buffer overflow in Abseil-cpp caused by missing upper bounds on size arguments to sized constructors, reserve(), and rehash() of absl::{flat,node}hash{set,map}, resulting in integer overflow during backing store allocation and subsequent out-of-bounds writes and accesses.
Why it matters to the business
Applications depending on vulnerable Abseil versions face risk of memory corruption that can lead to crashes, denial of service, or potential code execution, affecting availability and security of services using the library.
How an attack unfolds
An attacker identifies code paths invoking affected hash container methods with attacker-controlled size values, passes an oversized argument to trigger integer overflow and out-of-bounds memory write, then leverages the resulting corruption for further attacks such as arbitrary code execution.
How to fix it
Upgrade abseil/abseil-cpp to commit 5a0e2cb5e3958dd90bb8569a2766622cb74d90c1 or later. For Apache Bitnami deployments, upgrade to version 2.4.52 or higher.
How to confirm the fix worked
Confirm the installed Abseil commit or package version matches or exceeds the fixed release; inspect source or build manifests for the updated hash containers implementation.
Typical attack path
- Locate application or service using vulnerable Abseil hash containers
- Supply large size value to sized constructor, reserve, or rehash
- Trigger integer overflow and out-of-bounds write during buffer handling
- Exploit memory corruption for code execution or denial of service
How to detect it
Monitor application logs and crash reports for memory corruption indicators following operations on hash containers; search for evidence of unusually large size arguments processed by affected methods.
What your security team should do
- Update Abseil dependency to the fixed commit across all affected products
- Review code using sized operations on hash sets and maps for untrusted size inputs
- Test applications after upgrade for stability and absence of memory issues
The record
There exists a heap buffer overflow vulnerable in Abseil-cpp. The sized constructors, reserve(), and rehash() methods of absl::{flat,node}hash{set,map} did not impose an upper bound on their size argument. As a result, it was possible for a caller to pass a very large size that would cause an integer overflow when computing the size of the container's backing store, and a subsequent out-of-bounds memory write. Subsequent accesses to the container might also access out-of-bounds memory. We recommend upgrading past commit 5a0e2cb5e3958dd90bb8569a2766622cb74d90c1
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | abseil | 0 | No fix |
| Debian:11 | abseil | 0 | 0~20200923.3-2+deb11u1 |
| Debian:12 | abseil | 0 | No fix |
| Debian:13 | abseil | 0 | No fix |
| SUSE:Linux Enterprise Module for Basesystem 15 SP7 | abseil-cpp | 0 | 20240116.3-150600.19.6.1 |
| openSUSE:Leap 15.6 | abseil-cpp | 0 | 20240116.3-150600.19.6.1 |
| openSUSE:Tumbleweed | abseil-cpp | 0 | 20250814.0-2.1 |