Skip to main content
CVE Vulnerability Database

CVE-2026-8725: CoreWorxLab CAAL SSRF Vulnerability

CVE-2026-8725 is a server-side request forgery flaw in CoreWorxLab CAAL up to version 1.6.0 affecting the test-hass endpoint. This article covers the technical details, affected versions, and mitigation strategies.

Published:

CVE-2026-8725 Overview

CVE-2026-8725 is a server-side request forgery (SSRF) vulnerability affecting CoreWorxLab CAAL up to version 1.6.0. The flaw resides in an unknown function within the src/caal/webhooks.py file, which implements the test-hass endpoint. Remote attackers can exploit the issue over the network without authentication or user interaction. A public exploit exists, and the vendor did not respond to disclosure attempts, leaving deployments without an official patch.

Critical Impact

Unauthenticated attackers can force the CAAL server to send arbitrary HTTP requests to internal or external systems, enabling internal network reconnaissance and access to services that trust the server's network position.

Affected Products

  • CoreWorxLab CAAL versions up to and including 1.6.0
  • The test-hass endpoint implemented in src/caal/webhooks.py
  • Deployments exposing the CAAL webhook interface to untrusted networks

Discovery Timeline

  • 2026-05-17 - CVE-2026-8725 published to NVD
  • 2026-05-18 - Last updated in NVD database

Technical Details for CVE-2026-8725

Vulnerability Analysis

The vulnerability is classified as Server-Side Request Forgery [CWE-918]. The test-hass endpoint in src/caal/webhooks.py accepts attacker-influenced input that controls the destination of a server-initiated HTTP request. Because the endpoint does not validate or restrict target URLs, the CAAL application issues requests on behalf of the attacker. EPSS data places exploitation probability at 0.038% with a percentile of 11.314 as of 2026-05-21, but a public proof-of-concept lowers the practical barrier to abuse.

Root Cause

The root cause is missing validation of user-supplied URL or host parameters consumed by the test-hass handler. The webhook test functionality is designed to reach out to a Home Assistant instance, but the implementation does not enforce an allowlist of hosts, block private address ranges, or restrict URL schemes. Any value supplied by the caller is passed directly to the outbound HTTP client.

Attack Vector

An unauthenticated remote attacker sends a crafted HTTP request to the test-hass endpoint, specifying a target URL of their choice. The CAAL server then issues the request and may return response data or side-channel information to the attacker. Useful attack scenarios include scanning internal services, reaching cloud metadata endpoints such as 169.254.169.254, and interacting with administrative interfaces that bind to localhost.

No verified exploit code is included here. Technical details are referenced in the GitHub Issue Discussion and VulDB #364316.

Detection Methods for CVE-2026-8725

Indicators of Compromise

  • Inbound HTTP requests to the /test-hass path or equivalent webhook test route from unexpected source addresses
  • Outbound requests from the CAAL host targeting RFC1918 ranges, link-local addresses, or cloud metadata endpoints
  • Webhook test invocations referencing URL schemes other than the expected Home Assistant endpoints, such as file://, gopher://, or http://127.0.0.1

Detection Strategies

  • Inspect application logs for test-hass requests carrying URL parameters that resolve to internal hosts or non-HTTP schemes
  • Correlate inbound webhook test calls with subsequent outbound connections from the CAAL process to detect SSRF chaining
  • Alert on access attempts to 169.254.169.254 or other metadata service IPs originating from the CAAL workload

Monitoring Recommendations

  • Forward CAAL application and proxy logs to a centralized analytics pipeline for URL parameter inspection
  • Deploy egress filtering and log denied outbound connections from the CAAL host
  • Monitor for repeated test-hass invocations with iterating host or port values that indicate scanning behavior

How to Mitigate CVE-2026-8725

Immediate Actions Required

  • Restrict network exposure of the CAAL test-hass endpoint to trusted administrators only, using a reverse proxy or firewall rule
  • Place the CAAL service behind authentication and remove anonymous access to webhook test functionality
  • Block outbound traffic from the CAAL host to internal management ranges and cloud metadata IPs at the network layer

Patch Information

The vendor was contacted but did not respond, and no official patch is available at the time of publication. Operators should monitor the CoreWorxLab project for an updated release beyond version 1.6.0 and apply it as soon as one is published.

Workarounds

  • Disable the test-hass endpoint in src/caal/webhooks.py if the webhook test functionality is not required
  • Enforce an allowlist of permitted Home Assistant target hosts in the reverse proxy in front of CAAL
  • Drop egress traffic from the CAAL service to 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, and 169.254.0.0/16
bash
# Example egress restriction using iptables on the CAAL host
iptables -A OUTPUT -m owner --uid-owner caal -d 169.254.169.254 -j DROP
iptables -A OUTPUT -m owner --uid-owner caal -d 127.0.0.0/8 -j DROP
iptables -A OUTPUT -m owner --uid-owner caal -d 10.0.0.0/8 -j DROP
iptables -A OUTPUT -m owner --uid-owner caal -d 172.16.0.0/12 -j DROP
iptables -A OUTPUT -m owner --uid-owner caal -d 192.168.0.0/16 -j DROP

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.