CVE-2026-123870
Received Received - Intake

Otterdog Webapp Format String Eval via GitHub Webhook

Vulnerability report for CVE-2026-123870, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-11-09

Last updated on: 2026-11-09

Assigner: Eclipse Foundation

Description

The otterdog webapp evaluates a format-string built from the incoming GitHub webhook JSON body using Python's eval(). When the GITHUB_WEBHOOK_SECRET configuration value is unset or empty (the code default is None), the HMAC signature check is skipped entirely, allowing an unauthenticated network client to reach the eval() sink with attacker-controlled input and execute arbitrary Python on the webapp host.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-11-09
Last Modified
2026-11-09
Generated
2026-11-09
AI Q&A
2026-11-09
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
eclipse otterdog to main (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-95 The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes code syntax before using the input in a dynamic evaluation call (e.g. "eval").

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is a critical unauthenticated remote code execution flaw in the otterdog webapp. It occurs when the GITHUB_WEBHOOK_SECRET configuration is unset or empty, bypassing HMAC signature verification. The webapp evaluates a format-string built from attacker-controlled input in the GitHub webhook JSON body using Python's eval(), allowing arbitrary code execution on the host system.

Detection Guidance

Check if the otterdog webapp is running and if the GITHUB_WEBHOOK_SECRET is configured. Inspect network traffic for POST requests to /github-webhook/receive without HMAC validation. Look for eval() usage in github_webhook.py handling GitHub webhook JSON input.

Impact Analysis

An attacker can send malicious input to the POST /github-webhook/receive endpoint, which is accessible without authentication when the secret is missing. This allows them to execute arbitrary Python code on the webapp host, potentially leading to full system compromise, data theft, or further network infiltration.

Compliance Impact

This vulnerability likely violates compliance requirements for data protection and security due to unauthorized code execution. It could lead to unauthorized access to sensitive data, violating GDPR's integrity and confidentiality principles and HIPAA's security rule for protected health information.

Mitigation Strategies

Immediately set a non-empty GITHUB_WEBHOOK_SECRET and enforce its presence at startup. Replace eval() with safe dictionary lookups for input handling. Block unauthenticated POST requests to /github-webhook/receive until patched.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-123870. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart

Security Radar

News mentioning this vulnerability
Loading related security news...