CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-61554

CVE-2026-61554: Uncontrolled Resource Consumption in emp3r0r C2 http_poll Transport

Amit Schendel
Amit Schendel
Senior Security Researcher

Sep 16, 2026·6 min read·6 visits

Executive Summary (TL;DR)

Unauthenticated pre-authentication resource allocation in the http_poll transport allows remote attackers to cause a Denial of Service (DoS) in the emp3r0r C2 server by sending floods of arbitrary HTTP requests.

CVE-2026-61554 is a high-severity uncontrolled resource consumption vulnerability in the http_poll transport component of the emp3r0r Command and Control (C2) framework. In affected versions prior to 4.2.5, the C2 server allocates session tracking resources, spawns execution routines, and routes incoming unauthenticated request bodies into the core dispatch engine before verifying the client's cryptographic authentication token. This logical ordering flaw allows unauthenticated remote attackers to exhaust critical host system resources and trigger a sustained denial of service.

Vulnerability Overview

The emp3r0r Command and Control (C2) framework is designed for post-exploitation management of compromised endpoints, with a primary focus on Linux environments. To evade egress detection and circumvent perimeter firewalls, the framework supports multiple modular transport layers. Among these, the HTTP polling transport (http_poll) operates as a stateless, unidirectional beaconing receiver that periodically handles inbound connections from deployed agents.

In a standard C2 lifecycle, security depends entirely on robust cryptography and cryptographic isolation. Agents must authenticate using a unique, signature-based identity scheme before the server performs operations or executes commands. However, the connection-handling sequence of the http_poll listener contains an architectural flow control vulnerability.

Prior to version 4.2.5, the server is designed to process and route raw HTTP request data before executing the gatekeeping authentication checks. This structure exposes a broad attack surface, enabling unauthenticated remote actors to interact directly with internal processing queues and exhaust central system resources.

Root Cause Analysis

The vulnerability stems from a logical ordering flaw during connection intake. When a remote client initiates an HTTP POST request to the server's polling route, the server is expected to validate the agent's identity. This validation uses a Concise Binary Object Representation (CBOR) payload containing a MsgAuth structure, which carries the agent's cryptographic signature.

Instead of verifying this cryptographic signature at the edge of the transport layer, the vulnerable server executes several resource-intensive operations first. The handler instantiates a session tracking context, allocates memory buffers, and spawns a dedicated Go goroutine to handle the incoming data stream. Following this allocation, the server extracts the raw request body and routes it directly into the core dispatch and routing queues.

Because resource allocation occurs before verifying the sender's cryptographic credentials, the server performs expensive data transport and parsing operations on untrusted data. A remote adversary can continuously send arbitrary payloads without a valid signature. This forces the server into an infinite processing state, resulting in a classic uncontrolled resource consumption condition.

Code Analysis and Execution Flow

The original code architecture routes incoming requests directly into the core dispatch engine prior to validating client identities. This sequence is illustrated in the diagram below:

Because step 5 occurs late in the pipeline, an attacker can trigger steps 1 through 4 repeatedly without possessing a valid cryptographic key. This creates massive overhead on the Go runtime. The remediation implemented in version 4.2.5 restructures this sequence to validate identity tokens before spawning handlers or allocating session data, blockading the resource exhaustion vector.

// Vulnerable logic flow (conceptual representation)
func handlePollRequest(w http.ResponseWriter, r *http.Request) {
    // Allocates session tracking and spawns worker before validation
    session := NewSessionContext(r.RemoteAddr)
    go func() {
        body, _ := io.ReadAll(r.Body)
        // Raw routing happens first
        coreEngine.Dispatch(session, body)
    }()
}
 
// Patched logic flow in version 4.2.5
func handlePollRequestPatched(w http.ResponseWriter, r *http.Request) {
    // Extract and validate token immediately at the boundary
    authHeader := r.Header.Get("Authorization")
    if !validateCryptographicToken(authHeader) {
        w.WriteHeader(http.StatusUnauthorized)
        return // Early return blocks resource exhaustion
    }
    session := NewSessionContext(r.RemoteAddr)
    // Proceed to allocate and dispatch
}

Exploitation and Attack Methodology

Exploiting this vulnerability does not require complex configurations, valid encryption keys, or active session handles. The attacker only needs network visibility to the port hosting the http_poll interface of the emp3r0r server. This simplicity of access heightens the operational risk to the C2 infrastructure.

To initiate the attack, an adversary sends a high-concurrency flood of HTTP POST requests targeting the polling handler. Because the server parses the body of every request pre-authentication, sending large, syntactically complex, or intentionally malformed binary data streams amplifies CPU and memory consumption. This puts the Go runtime garbage collector under extreme pressure.

Within a short duration, the server depletes its pool of available file descriptors and exceeds maximum thread limits. Legitimate agents attempting to check in or retrieve commands will experience connection timeouts. The overall command and control infrastructure becomes entirely unresponsive, severing the operator's control over the active agent mesh network.

Impact Assessment

The CVSS v3.1 score is evaluated at 7.5 (High), reflecting a high impact on availability. While the vulnerability does not lead to direct data exposure, privilege escalation, or arbitrary code execution on the C2 host, it presents a substantial operational risk to the resilience of the deployment.

In a typical operational scenario, a Denial of Service against the central C2 server disrupts communication across the entire implant network. The self-healing Gossip Mesh network utilized by emp3r0r relies on stable exit points to coordinate operations. By rendering the central server unresponsive, the entire coordination capability of the mesh is neutralized.

Additionally, recovery from this state may require manual administrator intervention to restart services or rotate host configurations. If the server is deployed in a dynamic environment without persistent state storage, a forced restart could result in the loss of operational metadata and historical agent session logs.

Remediation and Mitigation Guidance

The definitive remediation for this vulnerability is upgrading the emp3r0r installation to version 4.2.5 or later. The update restructures the connection handler to parse and validate the CBOR MsgAuth payload synchronously at the absolute edge of the incoming request handling routine. This ensures that unauthorized requests are immediately dropped with a 401 Unauthorized status, saving processor cycles and memory.

In scenarios where immediate patching is unfeasible, administrators must deploy network-level compensating controls. Placing the C2 endpoint behind a reverse proxy, such as Nginx or HAProxy, allows for the configuration of strict rate-limiting rules. This setup restricts the number of concurrent connections and request rates acceptable from a single IP address.

Additionally, implementing firewall policies or a Virtual Private Network (VPN) to restrict access to the polling port exclusively to known, trusted egress IP addresses of target networks is highly recommended. Restricting the network footprint minimizes the exposure of the raw socket and mitigates the risk of external discovery and scanning.

Technical Appendix

CVSS Score
7.5/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Affected Systems

emp3r0r Command and Control (C2) Server (versions prior to 4.2.5)

Affected Versions Detail

Product
Affected Versions
Fixed Version
emp3r0r
jm33-m0
< 4.2.54.2.5
AttributeDetail
CWE IDCWE-400
Attack VectorNetwork
CVSS v3.1 Score7.5 (High)
ImpactDenial of Service (DoS)
Exploit StatusNone/Unproven
CISA KEV StatusNot Listed

MITRE ATT&CK Mapping

T1499Endpoint Denial of Service
Impact
CWE-400
Uncontrolled Resource Consumption

The software does not properly control the allocation and maintenance of a limited resource, enabling an actor to influence resource consumption and trigger exhaustion.

Vulnerability Timeline

Developer jm33-m0 patches the issue and releases emp3r0r v4.2.5.
2026-05-31
GitHub Security Advisory GHSA-4595-rvpx-4q34 is published and CVE-2026-61554 is assigned.
2026-09-15

References & Sources

  • [1]Official GitHub Security Advisory
  • [2]Vulnerable Repository Releases
  • [3]CVE Authority Record

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•about 1 hour ago•CVE-2026-61544
8.2

CVE-2026-61544: Remote Panic in libp2p-quic via Certificate Expiry Race

CVE-2026-61544 is a high-severity remote Denial of Service (DoS) vulnerability in libp2p-quic, the QUIC transport implementation of the official Rust networking stack for libp2p. It allows unauthenticated remote attackers to trigger an uncaught panic and crash listener applications.

Alon Barad
Alon Barad
1 views•7 min read
•about 2 hours ago•CVE-2026-88975
7.5

CVE-2026-88975: Heap Memory Exhaustion via Malicious HTTP/2 Frame Size in http4s Ember

An uncontrolled resource consumption vulnerability in the http4s Ember HTTP/2 server and client implementation leads to unauthenticated heap memory exhaustion and denial of service. The vulnerability stems from deferring frame size validation until the entire declared payload size is buffered.

Amit Schendel
Amit Schendel
2 views•6 min read
•about 9 hours ago•GHSA-5648-RGJ9-V224
8.1

GHSA-5648-RGJ9-V224: Multiple Security Control Bypasses in @zereight/mcp-gitlab

A constellation of five distinct security flaws (F1 through F5) in `@zereight/mcp-gitlab` prior to version 2.1.30 allows unauthenticated remote access, read-only policy bypasses, DNS rebinding, and denial-of-service via session exhaustion.

Alon Barad
Alon Barad
4 views•6 min read
•about 10 hours ago•CVE-2026-61568
9.6

CVE-2026-61568: DNS Rebinding Vulnerability in @zereight/mcp-gitlab Streamable HTTP Transport

A critical security vulnerability has been identified in the @zereight/mcp-gitlab implementation of the Model Context Protocol (MCP) server. Prior to version 2.1.30, the server lacks HTTP Host and Origin header validation on its Streamable HTTP transport interface (/mcp). This security omission permits remote attackers to bypass the Same-Origin Policy (SOP) via a DNS Rebinding attack. Under this vector, an attacker can route malicious API requests to the victim's local or internal MCP server, thereby gaining unauthorized control over the victim's GitLab account and resources.

Alon Barad
Alon Barad
9 views•9 min read
•about 11 hours ago•CVE-2026-61559
9.6

CVE-2026-61559: Critical Server-Side Request Forgery and Token Leakage in @zereight/mcp-gitlab

A critical Server-Side Request Forgery (SSRF) vulnerability in @zereight/mcp-gitlab allows attackers to leak sensitive GitLab Private-Tokens by supplying an arbitrary external hostname via the X-GitLab-API-URL header when dynamic routing is enabled.

Amit Schendel
Amit Schendel
6 views•7 min read
•about 12 hours ago•CVE-2026-69208
7.5

CVE-2026-69208: Memory Leak and Denial of Service in http4s DigestAuth Middleware

A critical memory leak vulnerability exists in the server-side DigestAuth middleware of the http4s library. Due to a logical inversion in the stale-nonce clean-up routine, the internal cache fails to evict stale nonces while prematurely purging fresh ones. Unauthenticated remote attackers can exploit this behavior by repeatedly prompting the server for authentication challenges, leading to unbounded memory consumption and application crashes via a java.lang.OutOfMemoryError.

Amit Schendel
Amit Schendel
6 views•6 min read