---
id: CVE-2026-111053
title: >-
  FOSSBilling: Unauthenticated attacker can probe existence of arbitrary files
  via guest/system/template_exists
summary: >-
  FOSSBilling is an open source billing and client-management platform. From
  0.1.0 until 0.8.7, the unauthenticated api/guest/system/template_exists
  endpoint permits path traversal because templateExists uses Path::join on the
  attacker-con…
severity: medium
cvss: 6.9
cvssVector: 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N'
cvssSource: cna
cwe:
  - CWE-22
  - CWE-200
vendor: FOSSBilling
product: FOSSBilling
affected:
  - 'FOSSBilling >= 0.1.0, < 0.8.7'
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-10-19T16:36:36.738833Z'
published: '2026-10-19'
updated: '2026-10-19'
sourceUpdated: '2026-10-19T16:36:49.366Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-111053'
references:
  - url: >-
      https://github.com/FOSSBilling/FOSSBilling/security/advisories/GHSA-fm3x-cx5r-wwgp
    label: >-
      https://github.com/FOSSBilling/FOSSBilling/security/advisories/GHSA-fm3x-cx5r-wwgp
  - url: 'https://github.com/FOSSBilling/FOSSBilling/pull/4221'
    label: 'https://github.com/FOSSBilling/FOSSBilling/pull/4221'
  - url: >-
      https://github.com/FOSSBilling/FOSSBilling/commit/e6ca7731c6bce406aba11900a4450e89c4ebdb01
    label: >-
      https://github.com/FOSSBilling/FOSSBilling/commit/e6ca7731c6bce406aba11900a4450e89c4ebdb01
  - url: 'https://github.com/FOSSBilling/FOSSBilling/releases/tag/0.8.7'
    label: 'https://github.com/FOSSBilling/FOSSBilling/releases/tag/0.8.7'
tags:
  - cve.org
ingestedAt: '2026-10-19T16:32:30.073Z'
---

## Overview

FOSSBilling is an open source billing and client-management platform. From 0.1.0 until 0.8.7, the unauthenticated api/guest/system/template_exists endpoint permits path traversal because templateExists uses Path::join on the attacker-controlled file parameter without rejecting .. sequences or verifying that the resolved path remains inside the active theme directory. The trigger is an unauthenticated request to guest/system/template_exists containing traversal sequences in the file parameter. An attacker can submit traversal sequences in the file parameter and observe the returned boolean to determine whether arbitrary files or directories exist on the server. The oracle does not disclose file contents. This issue is fixed in version 0.8.7.

## Affected

- `FOSSBilling >= 0.1.0, < 0.8.7`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
