CVE-2026-108755
Executive Summary
CVE-2026-108755 is an uncontrolled resource consumption vulnerability (CWE-770) in Hatchet through version 0.110.5. The SNS ingestion endpoint at POST /api/v1/sns/{tenant}/{event} buffers arbitrarily large or highly concurrent request bodies into memory before signature verification, allowing unauthenticated attackers to exhaust server memory and degrade availability. Any internet-reachable Hatchet deployment exposing this endpoint is affected; impact is limited to availability (CVSS 5.3, availability: Low), with no confidentiality or integrity impact.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
The vulnerability class is allocation of resources without limits or throttling (CWE-770), specifically an uncontrolled memory allocation driven by attacker-supplied request bodies. According to the NVD description, the SnsUpdate handler in Hatchet buffers incoming request bodies prior to performing signature verification on the SNS notification. Because the buffer is populated before any authentication or integrity check occurs, an unauthenticated party can force the server to allocate memory proportional to — and concurrent with — the volume of inbound requests.
The attack surface is the SNS ingestion HTTP route:
POST /api/v1/sns/{tenant}/{event}
Notable structural characteristics derivable from the description:
- Order-of-operations flaw. Signature verification is intended to prevent untrusted parties from injecting SNS events. However, the handler consumes and buffers the request body first, so verification does not gate resource consumption. The check happens after the memory has already been committed, negating its protective value for availability.
- No apparent request-size ceiling. The description states attackers can send "arbitrarily large" bodies, implying no enforced maximum body size (or an ineffective one) at the point of buffering.
- Tenant and event path parameters are attacker-controlled. The
{tenant}and{event}path segments accept attacker-supplied values, and the description notes requests may be sent "with any UUID." This means the attacker is not required to possess a valid tenant identifier or a legitimate event UUID — there is no pre-buffering authorization gate tied to those identifiers. - Unauthenticated reachability. The CVSS vector shows
PR:NandUI:N— no privileges and no user interaction — consistent with the description's assertion that the endpoint is reachable by unauthenticated attackers.
Because no patch, commit, or advisory detail is available (patch confidence 0/4), the exact code path, buffer implementation (e.g., full-body read vs. streaming discard), and any configured limits cannot be confirmed. Analysis is therefore constrained to the vulnerability class and the observable endpoint behavior described in the NVD entry. No public PoC, Nuclei template, or exploit code is known to exist at time of writing.
Exploitation Scenarios
No public PoC is available; the attack chain below is inferred from the vulnerability class and the behavior described in NVD. No function names, parameters, or paths beyond those stated in the description are assumed.
Reconnaissance / target identification. An attacker identifies internet-reachable Hatchet instances. Because the affected route is a predictable API path (
/api/v1/sns/{tenant}/{event}), an attacker can probe candidate hosts for a response on that path. Exposure is typically a Hatchet API/ingestion service reachable from untrusted networks — the presence of an SNS ingestion route implies it may be deliberately exposed to receive webhook-style notifications from a cloud provider.Triggering the flaw class (uncontrolled allocation). The attacker chooses a
{tenant}and{event}value. Per the description, "any UUID" is accepted — the attacker is not required to know a valid tenant or event, so no prior enumeration of legitimate identifiers is necessary. The attacker then issuesPOSTrequests to/api/v1/sns/{tenant}/{event}.Payload / execution at the vulnerability-class level. The attacker sends request bodies that are either (a) very large, forcing a single oversized in-memory buffer per request, or (b) numerous and concurrent, multiplying the number of simultaneous buffers. Because buffering occurs before signature verification, each request commits memory regardless of whether its SNS signature is valid — or absent entirely. No forged signature, credential, or valid notification is required. This is a resource-exhaustion primitive, not a code-execution or data-disclosure primitive.
Post-exploitation impact. Sustained or concurrent oversized/unauthenticated requests drive memory pressure on the Hatchet service. The expected outcome is degraded availability: slow responses, failed request processing, potential OOM-kill or process crash, and reduced capacity for legitimate SNS ingestion and tenant workloads. The CVSS impact is availability-only at Low severity (
C:N/I:N/A:L), and there is no described path to data exfiltration, integrity tampering, or persisted foothold from this flaw alone.
Note: exploitation does not require a valid SNS signature, tenant secret, or authenticated session, which is what raises this from a misconfiguration concern to a remotely triggerable availability flaw.
Impact Assessment
- Confidentiality: None (
C:N). The flaw is an unbounded memory allocation; the description discloses no read or disclosure primitive. - Integrity: None (
I:N). No described mechanism for modifying data. - Availability: Low (
A:L). Attackers can "degrade availability" by exhausting memory; CVSS scores this as Low rather than High, consistent with degradation rather than guaranteed total outage across the environment (e.g., recovery via restart, per-instance impact). - Attack complexity / privileges / interaction: Low complexity, no privileges (
PR:N), no user interaction (UI:N), network vector (AV:N) — trivially reachable and repeatable. - Blast radius. Any Hatchet deployment through 0.110.5 that exposes the SNS ingestion endpoint to an untrusted network is in scope. Impact is concentrated on the ingestion/API tier's memory headroom; tenant workload processing and notification delivery can be disrupted as the service thrashes or restarts. Because the endpoint is unauthenticated and accepts any UUID, exposure scales directly with internet reachability.
- Business impact. Degraded or interrupted workflow/event ingestion, notification delivery failures, and potential service restarts causing processing backlog. For teams relying on Hatchet for orchestration, sustained attack can stall downstream jobs. No KEV listing, no known in-the-wild exploitation, and no public exploit code lower the immediate operational risk, but the low bar to abuse (unauthenticated, any UUID, oversized body) makes it an attractive nuisance target.
Detection Guidance
Sigma Rule
title: Hatchet SNS Ingestion Memory Exhaustion Attempt (CVE-2026-108755)
id: 5f6b1c2a-9d47-4e83-a1b0-cve2026108755
status: experimental
description: Detects oversized or high-volume unauthenticated POST requests to the Hatchet SNS ingestion endpoint that buffer before signature verification.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-108755
author: valtersit.com
date: 2026/01/01
logsource:
category: webserver
detection:
selection_endpoint:
cs-method: 'POST'
cs-uri-stem|startswith: '/api/v1/sns/'
selection_size:
sc-bytes|gte: 10485760
condition: selection_endpoint and selection_size
fields:
- c-ip
- cs-uri-stem
- sc-bytes
- cs(User-Agent)
falsepositives:
- Legitimate large SNS payloads from trusted AWS SNS sources (rare; normal SNS notifications are small)
level: medium
tags:
- attack.t1499
- cve.2026.108755
YARA Rule
rule CVE_2026_108755_Hatchet_SNS_Abuse
{
meta:
description = "Detects repeated or oversized POST activity targeting the Hatchet SNS ingestion path in web/proxy logs or request captures"
author = "valtersit.com"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-108755"
date = "2026-01-01"
cve = "CVE-2026-108755"
strings:
$ep = "/api/v1/sns/" ascii nocase
$m1 = "POST /api/v1/sns/" ascii
$sig = "x-amz-sns-message-type" ascii nocase
condition:
($ep or $m1) and filesize > 1MB
}
Suricata IDS Rule
alert http any any -> any any (msg:"CVE-2026-108755 Hatchet SNS Ingestion Unbounded Body Buffering"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"/api/v1/sns/"; startswith; dsize:>10485760; threshold:type both, track by_src, count 5, seconds 60; classtype:attempted-dos; reference:cve,2026-108755; sid:2026108755; rev:1;)
Elastic Detection
sequence by source.ip with maxspan=60s
[ network where http.request.method == "POST" and
startsWith(http.request.uri, "/api/v1/sns/") and
http.request.bytes >= 10485760 ]
Splunk SPL Query
index=web OR index=proxy
(uri_path="/api/v1/sns/*" OR url="/api/v1/sns*")
http_method=POST
| stats count AS req_count,
sum(bytes_in) AS total_bytes,
max(bytes_in) AS max_body,
dc(src_ip) AS unique_src,
values(uri_path) AS endpoints
by src_ip
| where max_body >= 10485760 OR req_count >= 50
| sort - total_bytes
| table src_ip req_count total_bytes max_body unique_src endpoints
Wazuh OSSEC Rule
<group name="web,hatchet,attack,">
<rule id="100755" level="10">
<decoded_as>json</decoded_as>
<field name="http_method">POST</field>
<field name="url">/api/v1/sns/</field>
<description>CVE-2026-108755: Unauthenticated POST to Hatchet SNS ingestion endpoint (possible memory exhaustion)</description>
<mitre>
<id>T1499</id>
</mitre>
<group>cve_2026_108755,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source). No vendor fix or workaround is currently documented. No patched version is known; Hatchet through 0.110.5 is affected.
1) Immediate mitigations (reduce exposure now):
- Restrict network access to
/api/v1/sns/{tenant}/{event}— place the ingestion service behind a reverse proxy or WAF and allow only the trusted upstream SNS source IP ranges; block all other sources. - Enforce a hard request body-size limit at the edge (proxy/WAF
client_max_body_size-style control) well below the memory budget of the service (e.g., single-digit MB), returning 413 for oversized bodies before they reach Hatchet. - Apply per-source connection and request-rate limiting and concurrency caps at the proxy to blunt the "arbitrary concurrent requests" vector.
- If SNS ingestion is not required, disable or block the endpoint entirely.
- Monitor memory and restart/scale the service to bound impact while unpatched.
2) Patch/upgrade steps:
- No patch is available. Track the Hatchet project repository and release notes for a fix that moves signature verification ahead of body buffering and/or enforces a maximum buffered-body size on the SNS ingestion route. Apply the earliest fixed release once published. Until then, rely on mitigations above.
- Do not treat the lack of a patch as license to defer network controls; the edge limits above directly neutralize the described flaw class.
3) Long-term hardening:
- Ensure the SNS handler verifies the SNS message signature before buffering the full body, and streams/discards unverified payloads.
- Implement a global maximum body size and per-tenant/per-source concurrency quotas on all ingestion endpoints.
- Require authenticated or signed access to ingestion routes, and reject requests lacking required SNS headers early.
- Add memory-based autoscaling and OOM alerting; add application-level request-size assertions.
- Monitor vendor advisories and subscribe to updates for Hatchet to apply a formal fix when released.
References
- NVD — CVE-2026-108755: https://nvd.nist.gov/vuln/detail/CVE-2026-108755
- CWE-770 — Allocation of Resources Without Limits or Throttling: https://cwe.mitre.org/data/definitions/770.html
- MITRE ATT&CK T1499 — Endpoint Denial of Service: https://attack.mitre.org/techniques/T1499/
- Hatchet project repository (monitor for the fixing release; no patch confirmed as of this writing)
- CISA Known Exploited Vulnerabilities Catalog: no entry for CVE-2026-108755 (not listed)
No known threat actor campaigns, no exploit-in-the-wild evidence, and no public PoC are associated with this CVE at time of writing.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.