CVE-2026-54597 in ITFlowinfo

Summary

by MITRE • 09/18/2026

ITFlow provides an IT documentation, ticketing and accounting system for small managed service providers. Prior to version 26.07, an authenticated user with module_support write permission and access to a credential record can perform time-based blind SQL injection through the expires parameter of the share_generate_link handler in agent/ajax.php. sanitizeInput applies string-context escaping, but expires is inserted unquoted into the item_expire_at MySQL INTERVAL expression, allowing a crafted expression and interval unit to execute conditional database queries whose results are inferred from response delays. This can expose password hashes, SMTP credentials, API keys, encrypted vault data, and database metadata and support administrative takeover after credential cracking. This issue is fixed in version 26.07.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 09/18/2026

ITFlow serves as a comprehensive IT documentation, ticketing, and accounting platform designed for small managed service providers to manage their operational workflows securely. The software handles sensitive organizational data including client credentials, financial records, and system configurations. Prior to the release of version 26.07, the application contained a critical security flaw within its agent interface that allowed authenticated users with specific module permissions to exploit database interactions through time-based blind SQL injection techniques. This vulnerability specifically resides in the share_generate_link handler located within the agent/ajax.php file and is triggered via the expires parameter used for generating shared links for support agents.

The technical root cause of this vulnerability lies in how input data is processed before being incorporated into a MySQL query. Although the application employs a sanitizeInput function that applies string-context escaping to most user-supplied inputs, it fails to properly quote or validate the expires parameter when constructing an SQL INTERVAL expression. In standard SQL syntax, interval values must be quoted if they contain non-numeric characters or complex expressions, but in this specific context, the value is inserted directly into the item_expire_at field's date arithmetic operation without adequate sanitization of its structural integrity. This oversight allows a crafted input containing malicious SQL logic to bypass the intended string escaping mechanisms because the database engine interprets the injected payload as part of the interval syntax rather than as literal data.

An attacker with authenticated access and module_support write permissions can leverage this flaw by submitting carefully constructed payloads in the expires parameter that introduce conditional delays into the query execution process. By manipulating the time taken for the server to respond, an observer can infer whether specific conditions are true or false based on response latency variations. This technique enables the extraction of sensitive information such as password hashes, SMTP credentials, API keys, and encrypted vault data from the underlying database. Furthermore, because the injection allows for arbitrary query execution through conditional logic, it facilitates administrative takeover once extracted credentials are cracked or when combined with other privilege escalation vectors available to lower-privileged users within the system architecture.

The operational impact of this vulnerability is severe given the nature of ITFlow as a central hub for managed service provider operations. Exposure of SMTP credentials and API keys can lead to unauthorized email spoofing, phishing campaigns against client organizations, or integration abuse with third-party services. The leakage of password hashes poses a significant risk if those passwords are reused across other systems by employees or clients. Additionally, access to database metadata allows attackers to map the entire schema structure, identifying further targets for exploitation and potentially leading to complete system compromise. This aligns closely with CWE-89 Improper Neutralization of Special Elements used in an SQL Command which describes flaws where user input is not properly sanitized before use in SQL statements, allowing injection attacks that bypass standard escaping methods due to context-specific parsing rules.

From a threat intelligence perspective, this vulnerability maps to the ATT&CK framework technique T1059 Command and Scripting Interpreter under sub-technique T1059.004 Unix Shell or similar database command execution vectors depending on how the injected SQL is ultimately leveraged for post-exploitation activities. The ability to perform blind time-based injection also relates to data exfiltration techniques where information is extracted indirectly through side-channel effects like timing differences rather than direct output display, which corresponds to ATT&CK technique T1056 Input Capture or more specifically the indirect extraction methods often associated with SQLi in modern web applications.

To mitigate this vulnerability and prevent similar issues in future development cycles, it is essential that all database inputs undergo rigorous validation regardless of their intended data type. Developers should implement allowlist-based input validation for parameters like expires to ensure they contain only expected numeric values or predefined interval units such as days, hours, minutes, or seconds. Furthermore, the use of parameterized queries prepared statements provided by modern database abstraction layers can significantly reduce the risk of SQL injection by separating code from data at the driver level rather than relying solely on application-level string escaping functions which may have edge-case failures depending on character encoding and context. Upgrading to version 26.07 or later is required immediately for all deployments running prior versions, as this release includes patches that correct the handling of the expires parameter within the share_generate_link handler ensuring proper quoting and validation are applied before database interaction occurs.

Responsible

GitHub M

Reservation

06/15/2026

Disclosure

09/18/2026

Moderation

accepted

CPE

ready

EPSS

0.00427

KEV

no

Activities

very low

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!