Ameeba Chat App store presentation
Download Ameeba Chat Today
Ameeba Blog Search

CVE-2025-30215: High-Risk Cross-Account Exploitation in NATS-Server Versions

Ameeba’s Mission: Safeguarding privacy by securing data and communication with our patented anonymization technology.

Overview

CVE-2025-30215 is a significant vulnerability affecting NATS-Server, a high-performance server for NATS.io, known for being a cloud and edge native messaging system. This vulnerability was discovered in versions starting from 2.2.0 but prior to 2.10.27 and 2.11.1. It exposes a weakness in the management of JetStream assets, allowing unauthorized access to administrative actions on any JS asset in any other account. This issue affects a wide range of users and organizations that employ NATS-Server within their infrastructure, posing serious risks of system compromise or data destruction.

Vulnerability Summary

CVE ID: CVE-2025-30215
Severity: Critical (9.6)
Attack Vector: Network
Privileges Required: Low
User Interaction: None
Impact: System compromise, potential data leakage, and data destruction

Affected Products

Ameeba Chat – The World’s Most Private Chat App
No phone number, email, or personal info required.

Product | Affected Versions

NATS-Server | 2.2.0 to 2.10.26
NATS-Server | 2.2.0 to 2.11.0

How the Exploit Works

The vulnerability lies in the management of JetStream assets due to missing access controls. For the affected NATS-Server versions, JetStream assets are managed with messages in the $JS. subject namespace in the system account. Parts of this system are exposed into regular accounts to allow account holders to manage their assets.
However, some of the JS API requests lack appropriate access controls, allowing any user with JS management permissions in any account to perform administrative actions on any JS asset in any other account. While none of the affected APIs allow disclosing stream contents, at least one unprotected API can lead to significant data destruction.

Conceptual Example Code

This is a conceptual example of how the vulnerability might be exploited. This command could theoretically be run by any user with JS management permissions to delete data in another account:

nats request '$JS.api.consumer.delete' '{"stream_name":"TARGET_STREAM","name":"TARGET_CONSUMER"}'

Note that this is a conceptual example and not a literal command. Actual exploitation would likely involve more specific and complex actions.

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
The world’s most private
chat app

No phone number, email, or personal info required. Stay anonymous with encrypted messaging and customizable aliases.