Impact
An attacker can inject malicious JavaScript into the application's database via the installation setup script [S1]. When an administrator or another user views the stored data, the script executes in their browser session. This can lead to session hijacking, unauthorized actions on behalf of the user, or the theft of sensitive information [S1].
Root Cause
The vulnerability stems from insufficient input validation and sanitization in the setup/install.php file [S1]. Specifically, the firstname and lastname fields do not properly filter or encode user-supplied data before storing it in the system [S1]. This allows the insertion of HTML tags and JavaScript payloads that are later rendered by the application without escaping.
How FixVibe could detect it
FixVibe could detect this vulnerability through its repository scanning and active probing capabilities:
- Repository Scanning: FixVibe's code analysis engine could scan for the presence of
setup/install.phpin osTicket installations and identify the lack of sanitization functions (likehtmlspecialcharsor equivalent) on thefirstnameandlastnameparameters. - Active Probing: For live instances where the setup directory has not been removed, FixVibe could attempt to submit benign HTML markers to the
setup/install.phpendpoint and check if they are reflected without encoding in subsequent administrative views.
Remediation
To mitigate this vulnerability, users should:
- Update osTicket: Upgrade to version 1.10.7, 1.12.1, or later, where input sanitization has been implemented for these fields [S1].
- Remove Setup Directory: As a security best practice, always delete the
setup/directory immediately after completing the installation of osTicket to prevent unauthorized access to installation scripts.
