Ameeba Security Research

Defensive CVE and exploit intelligence

Ameeba Blog Search
TRENDING · 1 WEEK
Attack Vector
Vendor
Severity

CVE-2025-58754: Axios Unbounded Memory Allocation Vulnerability

Overview

The CVE-2025-58754 vulnerability pertains to Axios, a widespread promise-based HTTP client for both the browser and Node.js. This vulnerability has a significant impact as it can potentially cause the system to allocate an excessive amount of memory resulting in a crash (DoS) and possibly leading to system compromise or data leakage. Therefore, it is crucial for users and organizations utilizing Axios prior to version 1.11.0 to acknowledge and address this issue promptly.

Vulnerability Summary

CVE ID: CVE-2025-58754
Severity: High (7.5 CVSS Score)
Attack Vector: Network
Privileges Required: None
User Interaction: None
Impact: The successful exploitation can cause the system to allocate unbounded memory and crash (Denial of Service), potentially leading to system compromise or data leakage.

Affected Products

Ameeba Chat Icon A new way to communicate

Ameeba Chat is built on encrypted identity, not personal profiles.

Message, call, share files, and coordinate with identities kept separate.

  • • Encrypted identity
  • • Ameeba Chat authenticates access
  • • Aliases and categories
  • • End-to-end encrypted chat, calls, and files
  • • Secure notes for sensitive information

Private communication, rethought.

Product | Affected Versions

Axios | Prior to 1.11.0

How the Exploit Works

In Axios prior to version 1.11.0 running on Node.js, if a `data:` scheme URL is given, the HTTP operation is not performed. Instead, the Node http adapter decodes the entire payload into memory (`Buffer`/`Blob`) and returns a synthetic 200 response. This process bypasses `maxContentLength` / `maxBodyLength` which typically protect HTTP responses. As a result, an attacker can supply a large `data:` URI which prompts the process to allocate excessive memory, leading to a crash (DoS), even if the caller requested `responseType: ‘stream’`.

Conceptual Example Code

The following is a conceptual example of how the vulnerability might be exploited using a large `data:` URI.

const axios = require('axios');
let largeDataUri = 'data:text/plain;base64,' + 'A'.repeat(1e6);
axios.get(largeDataUri)
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error);
});

In this example, a large `data:` URI is created and used in an axios GET request. This would cause the axios process to allocate excessive memory, potentially leading to a crash (DoS).

Want to discuss this further? Join the Ameeba Cybersecurity Group Chat.

Disclaimer:

The information and code presented in this article are provided for educational and defensive cybersecurity purposes only. Any conceptual or pseudocode examples are simplified representations intended to raise awareness and promote secure development and system configuration practices.

Do not use this information to attempt unauthorized access or exploit vulnerabilities on systems that you do not own or have explicit permission to test.

Ameeba and its authors do not endorse or condone malicious behavior and are not responsible for misuse of the content. Always follow ethical hacking guidelines, responsible disclosure practices, and local laws.
Ameeba Chat