Skip to main content

InvoicePlane CVE-2026-85290

| EUVDEUVD-2026-87123 MEDIUM
Improper Output Neutralization for Logs (CWE-117)
2026-09-25 GitHub_M
5.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Send crafted cron request with CRLF cron_key
  2. Exploit
    Invalid key written unsanitized to log
  3. Execution
    Forged lines injected into audit trail
  4. Impact
    Corrupt forensics and evade log monitoring

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A09:2025 - Security Logging & Alerting Failures
ASVS 5.0
V16 - Security Logging and Error Handling Log output neutralization
Exploitation Conditions

No special conditions - remote unauthenticated exploitation against default configurations of InvoicePlane prior to 1.7.2. The attacker only needs network access to the Cron::recur() endpoint and supplies a crafted cron_key with CRLF characters in the URL path; because the key is validated as 'wrong' and logged, no valid credentials or configuration changes are required. The practical LIMIT is impact, not access: the flaw only allows forging/polluting log entries (Integrity of the audit trail), so it yields no data disclosure, code execution, or denial of service, and its value to an attacker depends on log-based monitoring or forensics being in use.

Impact

This is a genuinely low-severity issue whose CVSS of 5.3 accurately reflects limited impact. The CVSS vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N) shows a network-reachable, low-complexity, unauthenticated flaw, but with only limited Integrity impact (C:N/A:N) - consistent with CWE-117 log injection, which corrupts log records rather than compromising the running system. No EPSS score, no CISA KEV listing, and no public exploit code were provided, so exploitation status is: no public exploit identified at time of analysis. The 'unauthenticated + network + low complexity' profile makes the flaw trivially triggerable, but the ceiling is forged/garbled audit-log lines, not data theft, code execution, or service disruption. Real-world priority is low: it is a forensic-integrity and monitoring-evasion concern (e.g., an attacker hiding other activity by polluting logs), most relevant as a defense-in-depth fix rather than an urgent patch. No signals conflict - the CVSS impact metrics, the description, and the CWE all agree this is log injection, not code injection despite the 'Code Injection' tag.

Exploit ScenarioDerived

An unauthenticated attacker sends a crafted HTTP request to the InvoicePlane cron endpoint with a cron_key value containing embedded CRLF sequences and forged text. Because Cron::recur() writes the invalid key straight to the application log without neutralizing newlines, the attacker injects fabricated log entries that can mask real activity or mislead responders during incident analysis. No public exploit code is identified, but the attack is trivial to reproduce given the low complexity and lack of authentication.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 25, 2026

Unauthenticated log injection in InvoicePlane (all versions prior to 1.7.2) allows remote attackers to forge entries in the application's error log by supplying a crafted cron_key value containing CRLF characters to the Cron::recur() endpoint. Because the invalid key is reflected straight into log_message('error', ...) without neutralization, an attacker can insert arbitrary fake log lines, corrupting the audit trail and potentially misleading log-based monitoring or forensic analysis. There is no public exploit identified at time of analysis and the vulnerability is not confirmed actively exploited; impact is limited to log integrity (CVSS 5.3, C:N/I:L/A:N) with no data disclosure, code execution, or denial of service, though the EPSS signal is not available and the issue was addressed in the 1.7.2 release.

RemediationAI

Upgrade InvoicePlane to version 1.7.2 or later, which is the vendor-released patch; the fix sanitizes the cron_key through sanitize_for_logging() from the file_security helper before it is written by Cron::recur(), so upgrading removes the injection vector entirely (release notes: https://github.com/InvoicePlane/InvoicePlane/releases/tag/v1.7.2, advisory: https://github.com/InvoicePlane/InvoicePlane/security/advisories/GHSA-g53q-v2pv-xr83, fix commit: https://github.com/InvoicePlane/InvoicePlane/commit/97fd1b6a0426b132abea16ef767625fb357adb38, PR: https://github.com/InvoicePlane/InvoicePlane/pull/1639). If an immediate upgrade is not possible, restrict network access to the recurring-invoice cron endpoint (typically /invoices/cron/recur/<key>) using web-server ACLs, IP allow-listing, or a reverse-proxy rule so that only the legitimate scheduler host can reach it - the trade-off is that any out-of-band or cloud scheduler must be added to the allow-list or the cron will silently stop generating recurring invoices. As a compensating control, ensure the cron key is rotated and strong so guessing is impractical, and tighten log handling: configure the application or syslog pipeline to strip or escape CR/LF in incoming log lines (or enable structured/JSON logging) and centralize log collection with integrity monitoring, accepting that these measures reduce but do not eliminate the ability to pollute the local log file on an unpatched install. Because the flaw yields no code execution, disclosure, or denial of service, patching plus log-pipeline hardening adequately addresses the residual risk; no other mitigating configuration changes are required.

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

The flaw is CWE-117 (Improper Output Neutralization for Logs), a classic log-injection class in which untrusted input is written to a log sink without stripping control characters. InvoicePlane is a PHP application built on CodeIgniter, and its recurring-invoice cron handler lives in application/modules/invoices/controllers/Cron.php, where the recur($cron_key = null) action compares the caller-supplied cron_key against the configured value and, on mismatch, calls log_message('error', '[Cron Recurring Invoices] Wrong cron key provided! ' . $cron_key). The key is taken from the URL path, so any remote client can route attacker-controlled bytes into that message. Carriage-return and line-feed characters are not filtered, so the injected string can terminate the intended record and open new, attacker-authored lines that are indistinguishable from genuine application log entries. The upstream fix loads the file_security helper and wraps the value in sanitize_for_logging((string) $cron_key) before logging, neutralizing CRLF sequences at the point of use. Note that this is a logging/telemetry-integrity weakness, not a parsing or code-execution flaw in the request path itself; the CPE entry cpe:2.3:a:invoiceplane:invoiceplane:*:*:*:*:*:*:*:* reflects that every release before the fix is affected regardless of configuration.

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 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
vuln.today AI 5.3 MEDIUM

Unauthenticated network request with low complexity (AV:N/AC:L/PR:N/UI:N); impact limited to log integrity so I:L with C:N/A:N and no scope change.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

1
Patch available
Sep 25, 2026 - 17:04 EUVD

DescriptionCVE.org

InvoicePlane is a self-hosted open source application for managing invoices, clients, and payments. Prior to 1.7.2, InvoicePlane's Cron::recur() method writes an invalid cron key from the URL path directly to the application log without neutralizing CRLF characters. An unauthenticated requester can place forged log lines into the audit trail by supplying a crafted cron_key value. The injected entries can corrupt forensic records and interfere with log-based monitoring. This issue is fixed in version 1.7.2.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
niche self-hosted open-source invoicing app, no broad enterprise footprint
Data Quality
5 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

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