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

