Skip to main content

InvoicePlane CVE-2026-50547

| EUVDEUVD-2026-87132 HIGH
Path Traversal (CWE-22)
2026-09-25 GitHub_M
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as low-privileged user
  2. Delivery
    Set malicious traversal xml_id in e-invoice config
  3. Exploit
    Trigger generate_xml() invoice XML generation
  4. Execution
    include() resolves traversal to existing PHP
  5. Impact
    Disclose/execute included file contents

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

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

Exploitation Conditions

Requires an authenticated low-privileged InvoicePlane account (prior to version 1.7.2) that can influence the e-invoice configuration where the xml_id value is stored. The attacker must supply a traversal sequence in xml_id and target an EXISTING .php file reachable from the XMLconfigs helper directory, since Invoices::generate_xml() calls file_exists() before include(). Exploitation is LIMITED by: the need for valid credentials with config-write access, the requirement that the traversal resolve to an already-present PHP file, and the fact that full remote code execution is NOT achievable through this flaw alone - it depends on a separate file-upload/file-write capability. Fixed in 1.7.2 via an alphanumeric-plus-hyphen allowlist on xml_id.

Impact

This is a moderate-priority, not urgent, finding. The CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H = 7.5) combines network reachability with two dampeners: AC:H (attacker must be able to influence the e-invoice configuration AND supply a traversal path resolving to an existing includable PHP file) and PR:L (a valid low-privileged authenticated account is required - this is not an anonymous internet attack). No EPSS score, no CISA KEV listing, and no public exploit code are present in the provided data, so exploitation status is 'no public exploit identified at time of analysis.' The I:H/A:H components of the NVD vector appear overstated: the vendor advisory (GHSA-9248-qccw-7x7j) explicitly states the standalone bug is local file inclusion and that code execution requires a SEPARATE file-upload or file-write primitive - so integrity/availability impact is conditional on a second, unlisted weakness rather than intrinsic to this CVE. The 'RCE' tag is therefore misleading relative to the advisory's own scoping. Net: a real authenticated LFI worth patching, but its practical severity is closer to a high-confidentiality information-disclosure issue than a directly weaponizable remote-code-execution flaw.

Exploit ScenarioDerived

An attacker holding a low-privileged InvoicePlane account with access to the e-invoice/XML configuration sets the stored xml_id to a traversal sequence (e.g. '../../../some/existing') so that Invoices::generate_xml() includes an arbitrary existing PHP file outside the XMLconfigs helper directory. This yields local file inclusion of application source or configuration; to escalate to code execution the attacker must independently plant or overwrite a PHP file via a separate primitive. No public exploit code is identified in the available data.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 25, 2026

Local file inclusion in InvoicePlane before 1.7.2 allows an authenticated low-privileged user who can influence the e-invoice xml_id configuration to use path traversal sequences to include an existing .php file from the XMLconfigs helper directory. This is a moderate-priority, not urgent, finding: the advisory establishes local file inclusion, while full code execution would require a separate file-upload or file-write primitive, and no public exploit identified at time of analysis. The issue is fixed in version 1.7.2 via an allowlist on xml_id.

RemediationAI

Upgrade to InvoicePlane 1.7.2 or later; this vendor-released patch validates xml_id with an alphanumeric-plus-hyphen allowlist and is referenced by GHSA-9248-qccw-7x7j, PR #1560, commit 07ebd6b5922b47b941cc3c6922c39043ad558d8f, and release v1.7.2 (https://github.com/InvoicePlane/InvoicePlane/releases/tag/v1.7.2). If immediate upgrade is not possible, restrict who can edit e-invoice configuration to fully trusted administrators because exploitation requires an authenticated low-privileged account with config-write access, sanitize existing stored xml_id values to reject traversal sequences such as ../ or absolute paths, disable the e-invoice XML generation feature if it is not needed, and separately restrict file-upload/file-write capabilities because code execution depends on an independent file-write primitive. Trade-offs include broken invoice workflow for staff who lose config access, inability to generate XML e-invoices when the feature is disabled, and possible disruption of custom XML templates if stored xml_id values are changed.

Affected VersionsENISA

InvoicePlane < 1.7.2

Affected Packages

euvd invoiceplane fix: 1.7.2

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

InvoicePlane is a self-hosted PHP invoice management application. The vulnerable Invoices::generate_xml() method builds a path by appending a database-derived xml_id to the XMLconfigs helper directory and then calls include on "$path . $xml_id . '.php'"; because xml_id is not validated before file_exists() and include, a crafted value containing traversal sequences can resolve to an existing PHP file outside the intended helper directory. This is CWE-22 (Path Traversal), and the assessed vector is CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:L, meaning remote network exploitation requires high complexity and a low-privileged authenticated account with config-write access; the CVE record's 7.5 vector is broader, but the independent assessment limits integrity and availability impact to low. The upstream fix in PR #1560 adds an allowlist check: is_string($xml_id) && preg_match('/^[A-Za-z0-9-]+$/', $xml_id) === 1.

Know when Invoiceplane 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 7.5 HIGH
AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 6.4 MEDIUM

Authenticated low-priv config write (PR:L) and traversal to an existing includable file (AC:H) give an LFI with high confidentiality; code execution needs a separate primitive so I/A only Low.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Sep 25, 2026 - 17:04 EUVD
CVE Published
Sep 25, 2026 - 15:38 cve.org
HIGH 7.5

DescriptionCVE.org

InvoicePlane is a self-hosted open source application for managing invoices, clients, and payments. Prior to 1.7.2, InvoicePlane's Invoices::generate_xml() method appends a database-derived xml_id to the XMLconfigs helper directory and includes the resulting PHP path without validating the identifier. A low-privileged attacker who can influence the e-invoice configuration can use traversal sequences to include an existing PHP file. The standalone advisory establishes local file inclusion; code execution requires a separate file-upload or file-write primitive. This issue is fixed in version 1.7.2.

Technical POC Analysis

CWE-22 (path traversal) reaching a CWE-98 sink (PHP include on an attacker-influenced filename).

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

InvoicePlane versions before 1.7.2 contain a local file inclusion flaw that could allow a low-privileged user with influence over e-invoice xml_id configuration to read files from the XMLconfigs helper directory via path traversal, potentially exposing sensitive PHP configuration data. While no public exploit identified at time of analysis and code execution would require an additional file-write primitive, the issue affects organizations using InvoicePlane for invoicing and warrants prioritization because internal users could access server-side files. Leadership should ensure affected instances are upgraded to 1.7.2 and that low-privileged configuration access is minimized.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.5%
Top 62% exploitable
Prevalence
Low
niche self-hosted open-source PHP invoicing app, no large enterprise footprint
Data Quality
6 sources
Confidence: High

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 0.5%
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Total

Priority Score

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2025-67084 CRITICAL POC
9.9 Jan 15

InvoicePlane through 1.6.3 allows authenticated users to upload PHP files as attachments that can be executed remotely.

CVE-2026-25548 CRITICAL POC
9.1 Feb 18

Remote Code Execution in InvoicePlane self-hosted invoicing application through code injection. PoC and patch available.

CVE-2017-1000238 HIGH POC
8.8 Nov 17

InvoicePlane version 1.4.10 is vulnerable to a Arbitrary File Upload resulting in an authenticated user can upload a mal

CVE-2021-29024 HIGH POC
7.5 May 17

In InvoicePlane 1.5.11 a misconfigured web server allows unauthenticated directory listing and file download. Rated high

CVE-2026-23491 HIGH POC
7.5 Feb 18

Unauthenticated attackers can read arbitrary files from InvoicePlane servers through path traversal in the Guest control

CVE-2025-67082 MEDIUM POC
6.5 Jan 15

An SQL injection vulnerability in InvoicePlane through 1.6.3 has been identified in "maxQuantity" and "minQuantity" para

CVE-2024-56975 CRITICAL
9.8 Mar 28

InvoicePlane (all versions tested as of December 2024) v.1.6.11 and before contains a remote code execution vulnerabilit

CVE-2023-23011 MEDIUM POC
6.1 Feb 07

Cross Site Scripting (XSS) vulnerability in InvoicePlane 1.6 via filter_product input to file modal_product_lookups.php.

CVE-2018-12255 MEDIUM POC
6.1 Jul 03

An XSS issue was discovered in InvoicePlane 1.5.10 via the "Quote PDF Password(Optional)" field. Rated medium severity (

CVE-2026-24745 MEDIUM POC
5.7 Feb 18

Stored XSS via SVG file upload in InvoicePlane 1.7.0 Login Logo functionality allows authenticated administrators to inj

CVE-2026-24744 MEDIUM POC
5.7 Feb 18

Stored XSS in InvoicePlane 1.7.0's invoice editing function fails to sanitize the invoice_number parameter, allowing aut

CVE-2026-24743 MEDIUM POC
5.7 Feb 18

Stored XSS in InvoicePlane 1.7.0 via malicious SVG file upload in the Invoice Logo function allows authenticated adminis

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