CVE-2026-55386
Deferred Deferred - Pending Action

SQL Injection in InvoiceShelf Prior to 2.4.0

Vulnerability report for CVE-2026-55386, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-14

Last updated on: 2026-10-14

Assigner: GitHub, Inc.

Description

InvoiceShelf is an open-source web & mobile app that helps track expenses, payments and create professional invoices and estimates. Prior to version 2.4.0, InvoiceShelf passes the authenticated user's orderByField query parameter into Laravel orderBy calls in Invoice::scopeApplyFilters without restricting the value to column identifiers. A crafted SQL expression can therefore enter the ORDER BY clause across invoice and other list endpoints, enabling boolean-based blind extraction of database information. This issue is fixed in version 2.4.0.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-14
Last Modified
2026-10-14
Generated
2026-10-19
AI Q&A
2026-10-15
EPSS Evaluated
2026-10-18
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
InvoiceShelf InvoiceShelf < 2.4.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-89 The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

InvoiceShelf versions before 2.4.0 are vulnerable to SQL injection via the orderByField query parameter. This parameter is passed directly into Laravel's orderBy() method without validation, allowing attackers to inject malicious SQL expressions into the ORDER BY clause. The vulnerability enables boolean-based blind SQL injection attacks to extract database information.

Detection Guidance

Check InvoiceShelf instances for versions prior to 2.4.0. Inspect application logs for unusual ORDER BY clauses or SQL injection patterns in requests containing orderByField or orderBy parameters. Use tools like SQLMap to test for boolean-based blind SQL injection vulnerabilities in authenticated endpoints.

Impact Analysis

An attacker with valid login credentials could exploit this to extract sensitive data from the database, such as invoices, payments, or user information. This could lead to unauthorized access to financial records, customer data, or other confidential information stored in the application.

Compliance Impact

This vulnerability could lead to unauthorized data access, violating GDPR's data protection principles and HIPAA's security requirements for protected health information. Non-compliance may result in legal penalties, fines, or reputational damage due to data breaches.

Mitigation Strategies

Upgrade InvoiceShelf to version 2.4.0 or later immediately. If upgrading is not possible, implement input validation to restrict orderByField and orderBy parameters to safe column names only. Review and update all models using scopeApplyFilters to use the SafeOrderBy utility class as shown in the patch.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-55386. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart