CVE-2018-19006 in PI Visioninfo

Summary

by MITRE

OSIsoft PI Vision, versions PI Vision 2017, and PI Vision 2017 R2, The application contains a cross-site scripting vulnerability where displays that reference AF elements and attributes containing JavaScript are affected. This vulnerability requires the ability of authorized AF users to store JavaScript in AF elements and attributes.

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

Analysis

by VulDB Data Team • 08/27/2023

The vulnerability identified as CVE-2018-19006 affects OSIsoft PI Vision applications running version 2017 and 2017 R2, representing a significant cross-site scripting flaw that leverages the application's handling of Asset Framework elements and attributes. This security weakness specifically targets displays within the PI Vision interface that reference AF elements containing malicious JavaScript code, creating a persistent threat vector that can compromise user sessions and data integrity. The vulnerability's exploitation requires pre-existing authorization within the Asset Framework system, making it particularly concerning for environments where privileged access controls may be insufficiently enforced.

The technical implementation of this vulnerability stems from inadequate input validation and output encoding within the PI Vision application's rendering engine. When AF elements and attributes contain JavaScript code, the application fails to properly sanitize or escape this content before displaying it in user interfaces, allowing malicious scripts to execute within the context of authenticated user sessions. This flaw aligns with CWE-79, which categorizes cross-site scripting vulnerabilities as weaknesses in input validation and output encoding. The vulnerability operates at the application layer and can be classified under the ATT&CK technique T1059.001 for command and scripting interpreter, specifically targeting the execution of malicious code through web-based interfaces.

The operational impact of this vulnerability extends beyond simple script execution, as it enables attackers with authorized AF user privileges to perform session hijacking, data exfiltration, and potentially escalate their privileges within the system. An attacker could craft malicious AF elements containing JavaScript payloads that, when referenced in PI Vision displays, would execute in the browser context of any user viewing those displays. This creates a persistent threat where compromised displays can affect multiple users over time, particularly in operational technology environments where PI Vision interfaces are frequently accessed by operators and engineers. The vulnerability's exploitation is limited to users who already possess AF element creation privileges, but this access level is often granted to operational personnel who require such capabilities for system management.

Mitigation strategies for CVE-2018-19006 should focus on implementing robust input validation and output encoding controls within the PI Vision application. Organizations should enforce strict access controls and privilege management for AF element creation, ensuring that only authorized personnel with legitimate business requirements can modify AF elements and attributes. Regular security assessments and code reviews should be conducted to identify potential injection points, while implementing Content Security Policy headers can provide additional protection against script execution. OSIsoft has addressed this vulnerability in subsequent releases, making patch management and version updates essential for maintaining security posture. The remediation process should include comprehensive testing to ensure that the fix does not disrupt legitimate operational functionality while effectively preventing the execution of unauthorized JavaScript code within the application's display interfaces.

Reservation

11/06/2018

Moderation

accepted

CPE

ready

EPSS

0.00160

KEV

no

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!