Description
CoopCycle coopcycle-web 5.6.0 before 6.20.0 contains a missing authentication vulnerability that allows unauthenticated attackers to forge Zelty webhook events because the x-zelty-hmac-sha256 HMAC signature is never verified. Attackers can POST forged dish, menu, option and order-status events to /api/zelty/webhook/* endpoints to toggle restaurant products and alter order preparation states.
Published: 2026-11-04
Score: 8.3 High
EPSS: n/a
KEV: No
Impact: Unauthenticated Webhook Forgery
Action: Patch Immediately
AI Analysis

Impact

A missing authentication check allows attackers to forge secure webhook events. The application ignores the x-zelty-hmac-sha256 HMAC signature, meaning that any user can POST arbitrary dish, menu, option, or order-status data to the /api/zelty/webhook/* endpoints. When these events are accepted, the attacker can toggle restaurant products on or off, create or delete menu items, and alter the state of orders, effectively commandeering the service and potentially causing financial or operational damage.

Affected Systems

The product affected is CoopCycle coopcycle-web. Versions from 5.6.0 up to, but not including, 6.20.0 contain the flaw; all later releases have applied the fix and properly verify the signature.

Risk and Exploitability

The assigned CVSS score of 8.3 reflects a high‑severity vulnerability. The EPSS score is currently not available, and it is not listed in the CISA KEV catalog. Because the vulnerability involves a simple HTTP POST request to a publicly exposed endpoint, an attacker can exploit it without prior authorization, using standard network tools. The attack vector is network, and exploitation requires no special credentials or privileged access, making the risk high for any instance exposing the webhook endpoint.

Generated by OpenCVE AI on November 4, 2026 at 13:48 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade CoopCycle coopcycle-web to version 6.20.0 or later, where the HMAC signature validation is enabled.
  • Restrict access to the /api/zelty/webhook/* endpoints to trusted hosts or IP ranges to limit exposure.
  • Ensure that incoming requests contain a non‑empty x‑zelty‑hmac‑sha256 header and that the server recomputes the signature using the shared secret before processing the payload; if necessary, apply the logic from commit 9b499950d433ca8ba894996d6b17f49885ca9485.

Generated by OpenCVE AI on November 4, 2026 at 13:48 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 04 Nov 2026 12:45:00 +0000

Type Values Removed Values Added
Description CoopCycle coopcycle-web 5.6.0 before 6.20.0 contains a missing authentication vulnerability that allows unauthenticated attackers to forge Zelty webhook events because the x-zelty-hmac-sha256 HMAC signature is never verified. Attackers can POST forged dish, menu, option and order-status events to /api/zelty/webhook/* endpoints to toggle restaurant products and alter order preparation states.
Title CoopCycle coopcycle-web 5.6.0 before 6.20.0 Missing Zelty Webhook Signature Verification
Weaknesses CWE-345
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:L'}

cvssV4_0

{'score': 8.3, 'vector': 'CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-11-04T12:38:54.345Z

Reserved: 2026-11-03T16:43:40.140Z

Link: CVE-2026-121620

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-04T13:17:27.537

Modified: 2026-11-04T13:17:27.537

Link: CVE-2026-121620

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-04T14:00:09Z

Weaknesses
  • CWE-345

    Insufficient Verification of Data Authenticity