Description
Firefly III's webhook URL validator (IsValidWebhookUrl.php) filters most private/reserved IPv4 ranges but contains an explicit early-return that allows any resolved address in 127.0.0.0/8, permitting an authenticated user (with webhooks enabled, which is off by default) to configure a webhook targeting loopback services on the server. Additionally, the validator resolves the target hostname once via gethostbyname() at validation time, but the actual outbound request (StandardWebhookSender.php, via Guzzle) re-resolves the hostname independently at send time, allowing a DNS-rebinding attacker to pass validation against a public IP and have the real request delivered to a private or internal address. The webhook response body is only written to a server-side debug log, not returned to the triggering user, so this is a blind SSRF primitive rather than one with direct response read-back.
Published: 2026-08-05
Score: 4.3 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Firefly III’s webhook URL validator allows any resolved IP within the 127.0.0.0/8 block, and skips validation for these addresses. An authenticated user who has webhooks enabled can therefore configure a webhook that reaches services on the host’s loopback interface. Because the validator resolves the target once at validation time, but the outbound request re‑resolves the hostname during sending, a DNS‑rebinding attacker can validate a public IP and have the request ultimately reach a private or internal address. The response body of the webhook call is logged server‑side only, so no content is returned to the user, making this a blind SSRF primitive.

Affected Systems

The affected product is Firefly III, as identified by the CNA firefly-iii. No specific affected version numbers are listed. Users of any version where the webhook feature is available and enabled may be impacted.

Risk and Exploitability

The CVSS score for this flaw is 4.3, indicating moderate potential impact. EPSS is not available, and the vulnerability is not listed in CISA’s KEV catalog. Attackers need to be authenticated to configure a webhook, but once a webhook is set up, the attacker can direct requests to internal addresses, including loopback resources. The blind nature limits immediate disclosure of data, but the ability to reach internal services could facilitate further exploitation.

Generated by OpenCVE AI on August 5, 2026 at 12:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest security update from Firefly III when it becomes available
  • Disable or revoke webhook functionality until a patch is released
  • Restrict outbound network traffic from Firefly III to known trusted hosts or block access to 127.0.0.0/8 and other private IP ranges
  • Enable logging and monitor webhook activity for unusual destinations

Generated by OpenCVE AI on August 5, 2026 at 12:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

References
History

Wed, 05 Aug 2026 12:45:00 +0000

Type Values Removed Values Added
First Time appeared Firefly-iii
Firefly-iii firefly Iii
Vendors & Products Firefly-iii
Firefly-iii firefly Iii

Wed, 05 Aug 2026 11:15:00 +0000

Type Values Removed Values Added
Description Firefly III's webhook URL validator (IsValidWebhookUrl.php) filters most private/reserved IPv4 ranges but contains an explicit early-return that allows any resolved address in 127.0.0.0/8, permitting an authenticated user (with webhooks enabled, which is off by default) to configure a webhook targeting loopback services on the server. Additionally, the validator resolves the target hostname once via gethostbyname() at validation time, but the actual outbound request (StandardWebhookSender.php, via Guzzle) re-resolves the hostname independently at send time, allowing a DNS-rebinding attacker to pass validation against a public IP and have the real request delivered to a private or internal address. The webhook response body is only written to a server-side debug log, not returned to the triggering user, so this is a blind SSRF primitive rather than one with direct response read-back.
Title Firefly III: Webhook URL Validation Explicitly Allows Loopback and Is Bypassable via DNS Rebinding
Weaknesses CWE-918
References
Metrics cvssV3_1

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


Subscriptions

Firefly-iii Firefly Iii
cve-icon MITRE

Status: PUBLISHED

Assigner: TuranSec

Published:

Updated: 2026-08-05T12:41:26.060Z

Reserved: 2026-08-05T10:53:53.177Z

Link: CVE-2026-71250

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T12:30:12Z

Weaknesses
  • CWE-918

    Server-Side Request Forgery (SSRF)