CVE-2026-71203

changedetection.io - Missing Authentication on /api/v1/full-spec Discloses Full OpenAPI Schema

Published Aug 5, 2026 CVSS 3.1 · 5.3 Medium EPSS < 1% KEV · Not listed
Description
changedetection.io's REST API resources are protected by an @auth.check_token decorator validating the caller's x-api-key header, except the Spec resource registered at /api/v1/full-spec (changedetectionio/api/Spec.py), whose get method carries neither @auth.check_token nor @validate_openapi_request.

Analysis

AI-generated

Technical impact

This vulnerability stems from a missing authentication check on the /api/v1/full-spec endpoint in changedetection.io’s REST API. The endpoint returns the complete merged OpenAPI schema—including all available endpoint paths, parameters, and registered processor plugins—without requiring a valid x‑api‑key header, because the Spec resource does not apply the @auth.check_token or @validate_openapi_request decorators. Consequently, any client that can reach the API can retrieve the full specification, exposing sensitive structural details about the application. While the flaw does not immediately grant direct control over the system, the disclosed schema can aid attackers in identifying other exploitable endpoints, planning targeted attacks, and automating reconnaissance.

Affected Systems

The issue affects all installations of changedetection.io that expose the /api/v1/full-spec route. No specific version numbers are provided in the advisory, so any current or prior release may be vulnerable if the endpoint remains unprotected. The vendor is dgtlmoon, and patches are tracked in the public GitHub repository.

Risk and Exploitability

The EPSS score of <1% indicates a very low probability of exploitation, though not zero, while the CVSS score of 5.3 indicates a moderate risk level. The vulnerability is not listed in the CISA KEV catalog. The attack vector appears to be network‑based: an unauthenticated HTTP(S) request to /api/v1/full-spec can trigger disclosure, assuming the API is reachable and no additional network filtering is in place.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Check the dgtlmoon/changedetection.io GitHub repository for an updated release that adds authentication to /api/v1/full-spec and apply the patch as soon as it is available.
  • If a patch is not yet available, manually enforce authentication by editing the Spec resource to include the @auth.check_token decorator or by removing the /api/v1/full-spec endpoint from the public API surface.
  • Implement network controls such as firewall rules or API gateway restrictions to block unauthenticated access to /api/v1/full-spec, ensuring only trusted networks or IP ranges can query the schema.

Generated by OpenCVE AI on August 10, 2026 at 22:01 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description changedetection.io's REST API resources are protected by an @auth.check_token decorator validating the caller's x-api-key header, except the Spec resource registered at /api/v1/full-spec (changedetectionio/api/Spec.py), whose get() method carries neither @auth.check_token nor @validate_openapi_request. An unauthenticated client can retrieve the full merged OpenAPI schema (all endpoint paths, parameters, and registered processor plugins) even when API access control is enabled and every sibling /api/v1/* route correctly requires the key. changedetection.io's REST API resources are protected by an @auth.check_token decorator validating the caller's x-api-key header, except the Spec resource registered at /api/v1/full-spec (changedetectionio/api/Spec.py), whose get method carries neither @auth.check_token nor @validate_openapi_request.
Type Values Removed Values Added
Title changedetection.io: Missing Authentication on /api/v1/full-spec Discloses Full OpenAPI Schema changedetection.io - Missing Authentication on /api/v1/full-spec Discloses Full OpenAPI Schema
Type Values Removed Values Added
First Time appeared Dgtlmoon
Dgtlmoon changedetection.io
Vendors & Products Dgtlmoon
Dgtlmoon changedetection.io
Type Values Removed Values Added
Description changedetection.io's REST API resources are protected by an @auth.check_token decorator validating the caller's x-api-key header, except the Spec resource registered at /api/v1/full-spec (changedetectionio/api/Spec.py), whose get() method carries neither @auth.check_token nor @validate_openapi_request. An unauthenticated client can retrieve the full merged OpenAPI schema (all endpoint paths, parameters, and registered processor plugins) even when API access control is enabled and every sibling /api/v1/* route correctly requires the key.
Title changedetection.io: Missing Authentication on /api/v1/full-spec Discloses Full OpenAPI Schema
Weaknesses CWE-306
References
Metrics cvssV3_1

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

Weaknesses
  • CWE-306

    Missing Authentication for Critical Function

Sources

Status
PUBLISHED
Assigner
TuranSec
Published
Updated
Aug 10, 2026, 11:45 AM
Reserved
Aug 5, 2026, 6:56 AM
Status
Deferred
Published
Aug 5, 2026, 8:16 AM
Modified
Oct 24, 2026, 3:10 PM