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



GHSA-QCC3-JQWP-5VH2

GHSA-qcc3-jqwp-5vh2: Unauthenticated Resource Exhaustion via LINE Webhook Handler in OpenClaw

Alon Barad
Alon Barad
Software Engineer

Apr 3, 2026·6 min read·35 visits

Executive Summary (TL;DR)

Unauthenticated attackers can trigger severe Denial of Service in OpenClaw by sending high-concurrency requests to the LINE webhook handler. The lack of a pre-authentication resource budget causes the server to exhaust memory and CPU while performing cryptographic signature verification.

The OpenClaw personal AI assistant platform contains a resource exhaustion vulnerability in its LINE webhook handler. The application fails to enforce concurrency limits prior to processing unauthenticated HTTP POST requests, allowing an attacker to cause a Denial of Service (DoS) through rapid CPU and memory consumption.

Vulnerability Overview

The openclaw npm package provides the core functionality for the OpenClaw personal AI assistant. A critical component of this ecosystem is the LINE messaging integration, which relies on a webhook endpoint (/line/webhook) to receive event notifications from the LINE platform.

This webhook implementation suffers from an Uncontrolled Resource Consumption vulnerability, classified under CWE-400 and CWE-770. The application receives incoming POST requests and immediately begins heavy processing tasks without applying any rate limits or concurrency constraints at the application layer.

The flaw exists because cryptographic signature verification and request body parsing occur before the system validates the legitimacy of the sender. An unauthenticated attacker can exploit this architectural design by opening multiple concurrent connections, forcing the Node.js event loop to dedicate all available resources to processing malicious requests.

The resulting system state is a complete Denial of Service (DoS). Legitimate webhook events are dropped, and other services sharing the same Node.js process become completely unresponsive due to event loop starvation and memory pressure.

Root Cause Analysis

The core technical failure resides in the request lifecycle of the /line/webhook endpoint. When a POST request arrives, the server allocates memory to read the full HTTP request body. Following this allocation, the system uses the channelSecret to calculate an HMAC-SHA256 signature to verify the payload against the provided header.

Both memory allocation for arbitrary payload sizes and cryptographic hashing are synchronous or heavy asynchronous operations. They consume measurable CPU cycles and heap memory per request. The vulnerability is triggered because these operations execute on every incoming connection regardless of the current system load or the origin of the request.

The lack of an "in-flight" concurrency limiter prior to authentication allows an attacker to dictate the resource allocation of the server. By issuing thousands of simultaneous POST requests, the attacker forces the Node.js server to allocate memory and queue cryptographic operations concurrently.

Because Node.js operates on a single-threaded event loop, queueing a massive number of cryptographic operations prevents the loop from servicing legitimate I/O tasks. The server accepts all connections simultaneously, rapidly exhausting available memory and CPU cycles before any single request reaches the signature invalidation phase.

Code Analysis & Patch Review

In vulnerable versions, the OpenClaw router unconditionally invoked the scope handler for every POST request directed to the webhook path. There was no mechanism to track how many requests were actively being processed for a given account.

The patch introduced in commit 57c47d8c7fbf5a2e70cc4dec2380977968903cad fundamentally changes this behavior by implementing a shared concurrency budget. The developers introduced createWebhookInFlightLimiter, a utility designed to track active requests, and implemented beginWebhookRequestPipelineOrReject as a pre-authentication guard.

handler: async (req, res) => {
  if (req.method !== "POST") {
    await createScopedLineWebhookHandler()(req, res);
    return;
  }
 
  // NEW: Concurrency guard before any heavy lifting
  const requestLifecycle = beginWebhookRequestPipelineOrReject({
    req,
    res,
    inFlightLimiter: lineWebhookInFlightLimiter,
    inFlightKey: `line:${resolvedAccountId}`,
  });
  
  if (!requestLifecycle.ok) {
    return; // Request already ended with 429
  }
 
  try {
    // Only proceeds to read body and verify signature if under budget
    await createScopedLineWebhookHandler(requestLifecycle.release)(req, res);
  } finally {
    requestLifecycle.release();
  }
}

This patched implementation successfully mitigates the vulnerability by keying the concurrency limit to the specific resolvedAccountId. If the active request count exceeds the defined maxInFlightPerKey threshold, the server immediately returns an HTTP 429 (Too Many Requests) response.

By rejecting the request synchronously before allocating memory for the body or invoking HMAC operations, the server preserves its operational state. The fix is considered comprehensive as it addresses the exact location of the resource drain.

Exploitation Methodology

Exploitation of this vulnerability requires only network routing to the OpenClaw API endpoint. The attacker does not need valid credentials, an active account, or a valid LINE cryptographic signature. The exploit utilizes high-concurrency connection flooding to overwhelm the target.

An attacker executes the attack using standard HTTP benchmarking tools like h2load or ab, or via custom scripts configured to maximize concurrent connections. The tool targets the default /line/webhook endpoint with POST requests containing arbitrarily large bodies and fake signature headers.

The server attempts to process all connections simultaneously. Because the rejection logic only executes after the expensive body reading and hashing functions complete, the concurrent connections stack up in the event loop queue.

During an active exploit, administrators will observe the Node.js process CPU utilization spike to 100%. Memory consumption will climb linearly with the number of concurrent connections until the V8 engine garbage collector fails to keep up, often resulting in an Out-Of-Memory (OOM) crash.

Impact Assessment

The primary impact of this vulnerability is a complete loss of availability. The resource exhaustion prevents the personal AI assistant from responding to legitimate user inputs, scheduled tasks, and valid incoming LINE messages. The service effectively goes offline during the attack.

Secondary systemic impacts occur at the host level. The unhandled resource consumption routinely triggers Out-Of-Memory killer mechanisms or CPU throttling on the host operating system. This can degrade the performance of other containers or applications sharing the same physical or virtual hardware.

The vulnerability is assessed with a CVSS v3.1 vector of CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L yielding a score of 5.3. While the maintainers categorized the ecosystem impact as "Low," the reliability of the exploit means any exposed, unpatched OpenClaw instance is highly susceptible to trivial disruption.

There is no impact on confidentiality or integrity. The attacker cannot extract data, bypass authentication, or modify the system state beyond consuming available resources.

Remediation & Mitigation

The primary and most effective remediation is to update the openclaw npm package to version 2026.3.31 or later. This release contains the shared concurrency budget architecture necessary to protect the endpoint from connection floods.

For systems that cannot be immediately patched, network-level mitigations must be implemented. Operators should configure a reverse proxy (such as NGINX or HAProxy) or a Web Application Firewall (WAF) to strictly rate-limit POST requests directed at the /line/webhook URI.

Administrators operating patched versions in high-traffic environments should review the WEBHOOK_IN_FLIGHT_DEFAULTS thresholds. Ensure these values accommodate the expected peak volume of legitimate LINE events to prevent false positive rate-limiting under normal operational loads.

Security monitoring should be updated to track HTTP 429 status codes originating from the webhook endpoint. A sudden, sustained spike in 429 responses is a strong indicator of either an active denial-of-service attempt or a misconfiguration in the upstream LINE integration logic.

Official Patches

OpenClawOfficial Fix Commit
OpenClawRelease v2026.3.31

Fix Analysis (1)

Technical Appendix

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

Affected Systems

OpenClaw Application ServerNode.js Event LoopLINE Webhook Integration

Affected Versions Detail

Product
Affected Versions
Fixed Version
openclaw
OpenClaw
< 2026.3.312026.3.31
AttributeDetail
CWE IDsCWE-400, CWE-770, CWE-347
Attack VectorNetwork
CVSS Score5.3 (Medium)
Privileges RequiredNone
User InteractionNone
ImpactDenial of Service (Availability)

MITRE ATT&CK Mapping

T1499Endpoint Denial of Service
Impact
CWE-400
Uncontrolled Resource Consumption

Uncontrolled Resource Consumption

Vulnerability Timeline

Community discussions regarding LINE webhook registration issues surfaced.
2026-03-18
Fix commit 57c47d8c merged into openclaw/openclaw.
2026-03-31
Release v2026.3.31 published, addressing the vulnerability.
2026-03-31
GHSA-QCC3-JQWP-5VH2 officially published.
2026-03-31

References & Sources

  • [1]GitHub Advisory
  • [2]Snyk Vulnerability DB
  • [3]GitLab Advisory Database

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 13 hours ago•CVE-2026-54068
5.9

CVE-2026-54068: Unauthenticated Server-Side Template Injection and SQLite Exfiltration in SiYuan PKM

An authentication bypass in the SiYuan personal knowledge management system before version 3.7.0 exposes a dynamic icon rendering endpoint. This endpoint processes client-supplied Go template directives. By submitting a crafted request, an unauthenticated remote attacker can leverage registered database template functions to execute arbitrary read-only SQL queries and exfiltrate workspace contents.

Amit Schendel
Amit Schendel
5 views•5 min read
•about 13 hours ago•CVE-2026-54069
9.1

CVE-2026-54069: Authentication Bypass in SiYuan Note via Origin Header Spoofing

CVE-2026-54069 is a critical authentication bypass vulnerability in the SiYuan Note personal knowledge management system. The flaw is located in the HTTP server's middleware handling API authorization, which unconditionally trusts requests carrying a 'chrome-extension://' scheme in the Origin HTTP header, granting administrative access without validating API tokens.

Alon Barad
Alon Barad
4 views•5 min read
•about 14 hours ago•CVE-2026-54089
9.1

CVE-2026-54089: Authentication Bypass by Spoofing in File Browser

CVE-2026-54089 is a critical authentication bypass vulnerability in File Browser affecting instances configured with proxy-based authentication. An unauthenticated remote attacker with direct network access can impersonate arbitrary users or register new accounts by spoofing configured HTTP headers.

Amit Schendel
Amit Schendel
4 views•7 min read
•about 15 hours ago•GHSA-99J7-FHR2-XFJ4
10.0

GHSA-99J7-FHR2-XFJ4: Malicious Remote Code Execution Payload in 'exploration' Cargo Crate

The malicious Cargo package 'exploration' was uploaded to the crates.io registry. During compilation or package import, the crate executes code designed to establish an outbound TCP/HTTP connection, download an external second-stage binary, and execute the binary locally on the host machine. This creates an unauthenticated remote code execution vector impacting developer environments and continuous integration pipelines.

Amit Schendel
Amit Schendel
7 views•6 min read
•about 15 hours ago•CVE-2026-54088
9.3

CVE-2026-54088: Pre-Authentication Remote Code Execution in File Browser Hook Authentication

CVE-2026-54088 is a critical command injection vulnerability in File Browser prior to version 2.63.6. When Hook Authentication is enabled, the application interpolates unsanitized credentials into a shell command, allowing unauthenticated remote code execution.

Alon Barad
Alon Barad
6 views•6 min read
•about 16 hours ago•GHSA-QV4M-M73M-8HJ7
8.8

GHSA-qv4m-m73m-8hj7: Authenticated Arbitrary File Upload leading to Remote Code Execution in NotrinosERP

An authenticated remote code execution vulnerability exists in NotrinosERP (versions up to and including 1.0.0) within the Human Resource Management (HRM) module. Users with employee management permissions can upload arbitrary file types, including PHP scripts, which are written directly to a web-accessible directory. This allows for arbitrary code execution in the context of the web-server user.

Alon Barad
Alon Barad
5 views•6 min read