Skip to main content

FOSSBilling CVE-2026-111048

| EUVDEUVD-2026-115349 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-11-02 GitHub_M
8.4
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as support.manage_tickets staff
  2. Delivery
    Store JS payload via note_create endpoint
  3. Exploit
    Admin opens ticket notes list
  4. Execution
    Script runs in viewer's session
  5. Impact
    Steal CSRF token, perform admin actions

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The attacker must hold a FOSSBilling staff account with the support.manage_tickets permission to reach admin/support/note_create and plant a note (PR:L - not remote-unauthenticated). Exploitation then requires a second staff member to open that specific ticket's notes from the admin ticket list, which is the only vulnerable rendering path (UI:A). Limiting factors: only the admin ticket list is affected because mod_support_tickets.html.twig renders notes via innerHTML; the ticket detail page (mod_support_ticket.html.twig) is safe due to Twig autoescaping. Impact is maximized only when the viewer is a high-privileged account such as a Super Administrator. Affected default configurations are versions 0.1.0 through 0.8.8; no non-default setting is required to trigger it. Workarounds per the vendor: there is no complete fix without upgrading to 0.8.9; administrators can audit and remove notes containing HTML from the support_ticket_note table and revoke support.manage_tickets from staff groups that do not need it.

Impact

This is a genuine but access-gated priority rather than an internet-facing emergency. The CVSS 4.0 base score is 8.4 (High) with AV:N/AC:L/AT:N, but two metrics constrain real-world risk: PR:L means the attacker must already hold a staff account carrying the support.manage_tickets permission, and UI:A (passive/active user interaction) means the payload only fires when another staff member opens that ticket's notes from the admin ticket list. The vuln.today decision label is 'this_week', which aligns with a serious-but-not-drop-everything posture. No EPSS probability, no CISA KEV listing, and no PoC/exploit reference are present in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation - the 8.4 is driven by high confidentiality and integrity impact (VC:H/VI:H) via privilege inheritance, not by exploitation signals. The standout risk factor is privilege escalation potential: a low-privileged staff member's payload executes with the viewing staff member's session, up to a Super Administrator, effectively turning a limited support role into full admin control. Net: a real priority for any multi-staff FOSSBilling deployment on 0.1.0-0.8.8, tempered by the authenticated-insider prerequisite and the absence of exploitation telemetry (EPSS/KEV both absent, so widespread opportunistic exploitation is not indicated).

Exploit ScenarioDerived

A malicious or compromised staff member who holds only the support.manage_tickets permission creates a support ticket note containing a JavaScript payload via the admin/support/note_create endpoint. When a higher-privileged staff member - ideally a Super Administrator - later opens that ticket's notes from the admin ticket list, the admin UI renders the note through innerHTML and the script runs in the victim's authenticated session, reading the CSRF token and issuing admin API calls on their behalf. No public exploit is identified in the sources, but the advisory documents the exact vulnerable code path (div.innerHTML = entry.note) and the payload fires automatically as soon as the ticket_get response is parsed, without the victim interacting with the notes dialog.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Nov 02, 2026

Stored cross-site scripting in FOSSBilling 0.1.0 through 0.8.8 lets an authenticated staff member holding only the support.manage_tickets permission plant HTML or JavaScript in a support ticket note via admin/support/note_create; the note is persisted unsanitized and later written into the DOM with innerHTML by the admin ticket list template. The payload executes in the browser session of any staff member who opens that ticket's notes, including a Super Administrator, allowing CSRF-token theft, exfiltration of accessible client and invoice data, and any administrative action the viewer's account permits. The vendor-released patch is 0.8.9; no public exploit code or confirmed active exploitation was identified at time of analysis, and the vendor notes there is no complete workaround without patching.

RemediationAI

Vendor-released patch: 0.8.9. Upgrade FOSSBilling 0.1.0 through 0.8.8 to 0.8.9 or later, which sanitizes the note parameter with Tools::sanitizePlainText() on creation, rejects notes that become empty after sanitization, and renders notes with textContent instead of innerHTML; the same release hardens the Massmailer preview inside a sandboxed iframe. The vendor states there is no complete workaround without patching, but lists two compensating measures with their trade-offs: audit the support_ticket_note table and delete any notes containing HTML markup, since a payload can only arrive through the notes feature, and revoke the support.manage_tickets permission from staff groups that do not need it, at the cost of those staff no longer being able to manage tickets. Because the injected code executes with the viewing staff member's session and can read that page's CSRF token, administrators who suspect exploitation should also treat Super Administrator sessions as potentially compromised. Details and patch references: https://github.com/FOSSBilling/FOSSBilling/security/advisories/GHSA-493h-fvcx-6q62 and https://github.com/FOSSBilling/FOSSBilling/releases/tag/0.8.9.

Affected VersionsENISA

FOSSBilling 0.1.0, < 0.8.9

Affected Packages

euvd fossbilling fix: 0.8.9

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw is CWE-79 (improper neutralization of input during web page generation), specifically a stored XSS in a PHP/Twig application. The write path is src/modules/Support/Api/Admin.php::note_create(), which passed the note parameter directly to Service::noteCreate() and stored it unmodified in the support_ticket_note database table, unlike sibling handlers ticket_update() and ticket_message_update() which route staff text through Tools::sanitizeContent() and Tools::sanitizeMarkdownContent(). The read path is src/modules/Support/templates/admin/mod_support_tickets.html.twig, where JavaScript fetches the ticket through admin/support/ticket_get and assigns each note with div.innerHTML = entry.note - an unsanitized HTML sink that fires as soon as the response is parsed, with no interaction with the resulting dialog required. The same data is safe on the ticket detail page (mod_support_ticket.html.twig) because Twig autoescaping escapes the value. The rendering pattern dates to 0.1.0, where jQuery .html() reached the same sink, and survived the March 2023 admin UI rework and a December 2025 Support module hardening pass. The upstream fix (PR 4548) applies Tools::sanitizePlainText() to the note on write, rejects notes that are empty after sanitization, and replaces innerHTML with textContent plus white-space: pre-wrap on render; the same PR also moves the Massmailer preview into a sandboxed iframe via srcdoc instead of innerHTML. The CPE cpe:2.3:a:fossbilling:fossbilling:*:*:*:*:*:*:*:* matches the affected release line.

Know when Fossbilling gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 8.4 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 8.7 HIGH

Requires an authenticated low-privilege staff account (PR:L) and a victim staff member opening the notes (UI:R); stored XSS executing in another user's session crosses a security boundary (S:C) with high confidentiality and integrity impact.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Active
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Nov 02, 2026 - 19:18 EUVD
CVE Published
Nov 02, 2026 - 17:46 cve.org
HIGH 8.4

DescriptionCVE.org

FOSSBilling is an open source billing and client-management platform. From 0.1.0 until 0.8.9, the admin/support/note_create endpoint stores the note parameter without sanitization in the support_ticket_note table, and src/modules/Support/templates/admin/mod_support_tickets.html.twig renders each stored support ticket note through innerHTML in the admin ticket list. A staff user with only the support.manage_tickets permission can store HTML or JavaScript that executes when another staff member opens the ticket notes. The script runs with the viewing staff member's session and privileges, can read a CSRF token and accessible client or invoice data, and can perform administrative actions available to the viewer, including a Super Administrator. The ticket detail page is not affected because its Twig rendering uses autoescaping. This issue is fixed in version 0.8.9.

Technical POC Analysis

CWE-79 (stored cross-site scripting).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

CVE-2026-111048 is a stored cross-site scripting vulnerability in FOSSBilling, an open-source billing and support platform, affecting versions 0.1.0 through 0.8.8. The flaw allows a low-privileged staff member with ticket note permissions to inject malicious scripts that execute in the browser sessions of any staff member viewing the ticket, including super administrators, potentially leading to session hijacking, data theft, and unauthorized administrative actions. Leadership should prioritize patching to version 0.8.9 to prevent privilege escalation and data breaches.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

Prevalence
Low
niche open-source billing platform, limited enterprise footprint
Social Media
1
Sightings
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

CVE-2026-27604 CRITICAL POC
10.0 Jun 23

Authorization bypass in FOSSBilling versions 0.5.4 through 0.7.x allows unauthenticated remote attackers to invoke privi

CVE-2023-3490 CRITICAL POC
9.8 Jun 30

SQL Injection in GitHub repository fossbilling/fossbilling prior to 0.5.3. Rated critical severity (CVSS 9.8), this vuln

CVE-2026-28496 CRITICAL POC
9.4 Jun 23

Server-side template injection in FOSSBilling versions prior to 0.8.0 allows authenticated administrators to execute arb

CVE-2023-3491 HIGH POC
8.8 Jun 30

Unrestricted Upload of File with Dangerous Type in GitHub repository fossbilling/fossbilling prior to 0.5.3. Rated high

CVE-2023-3230 HIGH POC
7.5 Jun 14

Missing Authorization in GitHub repository fossbilling/fossbilling prior to 0.5.0. Rated high severity (CVSS 7.5), this

CVE-2023-3393 HIGH POC
7.2 Jun 23

Code Injection in GitHub repository fossbilling/fossbilling prior to 0.5.1. Rated high severity (CVSS 7.2), this vulnera

CVE-2023-3229 MEDIUM POC
6.5 Jun 14

Business Logic Errors in GitHub repository fossbilling/fossbilling prior to 0.5.0. Rated medium severity (CVSS 6.5), thi

CVE-2023-3521 MEDIUM POC
6.1 Jul 06

Cross-site Scripting (XSS) - Reflected in GitHub repository fossbilling/fossbilling prior to 0.5.4. Rated medium severit

CVE-2023-4005 CRITICAL
9.8 Jul 31

Insufficient Session Expiration in GitHub repository fossbilling/fossbilling prior to 0.5.5. Rated critical severity (CV

CVE-2023-3228 MEDIUM POC
5.7 Jun 14

Business Logic Errors in GitHub repository fossbilling/fossbilling prior to 0.5.0. Rated medium severity (CVSS 5.7), thi

CVE-2023-3227 MEDIUM POC
5.7 Jun 14

Insufficient Granularity of Access Control in GitHub repository fossbilling/fossbilling prior to 0.5.0. Rated medium sev

CVE-2023-3394 MEDIUM POC
5.4 Jun 23

Session Fixation in GitHub repository fossbilling/fossbilling prior to 0.5.1. Rated medium severity (CVSS 5.4), this vul

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy