Summary
CVE-2026-91080 is a memory exhaustion (uncontrolled resource consumption) vulnerability in adnanh/webhook, a lightweight Go-based server that runs shell commands in response to incoming HTTP webhook requests. Versions through 2.8.3 read the entire incoming HTTP request body into memory before evaluating any trigger rules, including HMAC signature validation, allowing an unauthenticated remote attacker to crash the service by sending oversized payloads. The issue carries a CVSS v4.0 base score of 8.7 (High).
Technical details
- Root cause: The webhook server buffers the complete HTTP request body into memory (using Go’s
ioutil.ReadAll-style read) before performing any authentication or trigger-matching logic, including HMAC/signature checks. - No size limits enforced: There is no
http.MaxBytesReadercap and no server-side read timeout configured on incoming requests for non-multipart content types (JSON, XML, form-urlencoded), unlike multipart form uploads which have existing constraints. - Trigger conditions: An attacker sends an HTTP POST request with a very large body and an invalid/missing signature to any configured webhook endpoint. Because the body is fully read into memory before signature validation occurs, authentication does nothing to stop the resource consumption.
- Attack vector: Network-based, requires no authentication and no user interaction. A proof-of-concept demonstrated that a 50MB request payload caused process RSS memory to jump from roughly 11MB baseline to approximately 346MB before the authentication check ultimately failed.
- Impact: Repeated or concurrent oversized requests can exhaust available server memory, leading to denial of service for the webhook process and any automation/CI/CD pipelines that depend on it.
Affected software
- adnanh/webhook, versions 0 through 2.8.3 (all released versions up to and including 2.8.3)
Severity
- CVSS v4.0: 8.7 (High) —
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - CVSS v3.1: 7.5 (High) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CWE-770: Allocation of Resources Without Limits or Throttling
Mitigation and recommended actions
- Immediate: As of this writing, no official patched release has been published by the adnanh/webhook project. A proposed fix (introducing a configurable
-max-body-sizeflag that would reject oversized requests with an HTTP 413 response) has been submitted as a pull request but is not yet merged or released. Security teams should monitor the upstream repository for a patched release and upgrade as soon as one becomes available. - If no patch is available:
- Place a reverse proxy or load balancer (e.g., nginx, HAProxy) in front of the webhook server and enforce a strict maximum request body size at that layer before traffic reaches the webhook process.
- Configure network-level rate limiting and connection/read timeouts to reduce the impact of slow or oversized POST requests.
- Restrict network exposure of webhook endpoints to trusted source IP ranges wherever possible, since the flaw requires no authentication to trigger.
- Monitor memory usage and process health of the webhook service, and configure automatic restarts/alerting on resource exhaustion.

